基本数据类型
- number:整数、浮点数、NaN、Infinity
- string
- boolean
- null
- undefined
引用数据类型
- object: {} [] /^$/ Date Math 实例对象...
- function
ES6中新增
- Symbol 唯一值
isNaN的使用
isNaN底层使用Number()来做的隐式转换,也就是说用Number()做转换,如果结果是NaN,则isNaN就是true,否则是false.
- isNaN(0) false
- isNaN('A') true
- isNaN('10') false
- isNaN('12px') true
- isNaN(null) false
- isNaN(undefined) true
- isNaN('') false
object
object的key可以是任何基本类型,不能是引用类型值,默认会把引用类型转换成字符串来作为key.即object转换成"[object Object]",function转换成function字符串
let a = {x:100};
let b = {y:200};
let obj = {};
obj[a] = 'xxx';
obj[b] = 'yyy';
console.log(obj);
console.log(obj[a] === obj[b])//true
上边的结果为: {[object Object]: "yyy"}
let obj = {
0: 1,
true: 2
};
console.log(obj[0]);//1
console.log(obj['0']);//1
console.log(obj[true]);//2
console.log(obj['true']);//2
array
array是特殊的对象
let arr = [1,2,3];
arr[5] = 6;
console.log(arr.toString());//"1,2,3,,,6"
console.log(arr.join('|'));//"1|2|3|||6"