ES6判斷物件型別的方法

2021-10-01 10:49:16 字數 1340 閱讀 4460

陣列物件

var arr=[,,12];
1、 typeof 判斷

console.log( typeof arr)

console.log( typeof arr=='object')

//typeof的乙個不好的地方就是它會把array還有使用者自定義函式都返回為object

2、構造函式指標 判斷

console.log(arr.constructor.name)

console.log(arr.constructor.name==array)

console.log(arr.constructor.name=='array')

//列印構造函式指標

console.log(a.constructor)

function array() 

//列印array函式

console.log(array)

function array() 

//兩個完全一致的函式作比較

console.log(a.constructor==array)

true

3、instranceof 判斷

console.log( arr instanceof array)

//利用typeof和constructor進行嚴格判斷

console.log((typeof arr=="object") && (arr.constructor==array))

console.log((typeof arr=="object") && (arr.constructor.name=='array'))

4、原型函式 判斷

console.log(object.prototype.tostring.call(arr));

//封裝改進後的函式

console.log(type(arr));

var class2type = {},     //用於記錄[object class]樣式  

objs = "boolean number string function array date regexp null undefined".split(" ");  

for (var i = 0, l = objs.length; i < l; i++)   

function type(obj)

ES6物件型別判斷

var arr 12 console.log typeof arr console.log typeof arr object typeof的乙個不好的地方就是它會把array還有使用者自定義函式都返回為object console.log arr.constructor.name console....

ES6 細化ES6之 物件的擴充套件

物件的屬性 屬性表示法es6 允許在大括號裡面,直接寫入變數和函式,作為物件的屬性和方法 es5 let name 張無忌 function sayme es5定義物件的屬性和方法的方式 var obj console.log obj.name 張無忌es6 let name 張無忌 functio...

ES6物件導向

前言 在es5中,對於物件沒有統一規定的寫法,我們只能以函式的形式來寫乙個物件。而在es6語法中,我們有了class,constructor,extends,supper 等關鍵字來實現物件導向。下面將介紹es6物件導向的使用 class person 類的方法 showname 使用new關鍵字建...