作者:87年的第一场雪 | 来源:互联网 | 2023-10-16 12:35
基础数据范例ECMAScript中有5种简朴数据范例(也称基础数据范例):Undefined,Null,Boolean,Number和String。另有一种庞杂数据范例(援用型)O
基础数据范例
ECMAScript中有5种简朴数据范例(也称基础数据范例):Undefined,Null,Boolean,Number和String。另有一种庞杂数据范例(援用型)Object。ECMAScript不支持任何建立自定义范例的机制,而一切值都是上述6中数据范例之一。(ps:ES6新增了一种数据范例Symbol,这里不做议论)
Undefined
– | Boolean | Number | String |
---|
undefined | false | NaN | “undefined” |
Null
注重辨别null和undefined的区分?
null == undefined; // true
null === undefined; // false
– | Boolean | Number | String |
---|
null | false | 0 | “null” |
Boolean
值:true or false。
涌现场景:
范例转换
– | number | string |
---|
true | 1 | “true” |
false | 0 | “false” |
String
– | Boolean | Number |
---|
“” | false | 0 |
“123” | true | 123 |
“a12” | true | NaN |
Number
– | Boolean | String |
---|
0 | false | 0 |
1 | true | 1 |
Infinity | true | “Infinity” |
NaN | false | “NaN” |
Object
– | Boolean | Number | String |
---|
{} | true | NaN | “[object Object]” |
范例辨认
typeof(操作符,不是函数)
能够辨认简朴范例(Null除外)
不能辨认详细的对象范例(Function除外)
typeof "darko"; //"string"
typeof 123; //"number"
typeof true; //"boolean"
typeof undefined; //"undefined"
typeof null; //"object"
typeof {name:"darko"}; //"object"
typeof function(){}; // "function"
typeof []; // "object"
typeof new Date(); //"object"
instanceof(三目运算符)
辨认内置对象的范例
不能够辨认简朴范例
辨认自定义对象范例
[] instanceof Array; //true
/\d/ instanceof RegExp; //true
1 instanceof Number; //false
"abc" instanceof String; //false
constructor
辨认简朴范例(undefined和null除外)
辨认内置对象范例
辨认自定义对象范例
(1).cOnstructor=== Number; // true
true.cOnstructor=== Boolean; // true
[].cOnstructor=== Array; // true
Object.prototype.toString
function type(obj){
return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
}