在JavaScript代码里,唯一可以访问该属性的方法就是通过 Object.prototype.toString ,通常方法如下:
Object.prototype.toString.call(value)
在ECMAScript 5中,Object.prototype.toString()被调用时,会进行如下步骤:
1 如果 this是undefined ,返回 [object Undefined] ;
2 如果 this是null , 返回 [object Null] ;
3 令 O 为以 this 作为参数调用 ToObject 的结果;
4 令 class 为 O 的内部属性 [[Class]] 的值;
5 返回三个字符串 “[object”+ class+"]" 拼接而成的字符串。
内部属性 | 描述 |
---|---|
[[Class]] | 一个字符串值,表明了该对象的类型. |
原生对象的[[class]]内部属性的值一共有10种.分别是:"Array", "Boolean", "Date", "Error", "Function", "Math", "Number", "Object", "RegExp", "String".