数据类型
- 基本数据类型(值类型):number;String;boolean;null;undefined
- 引用数据类型
- Object: {} [] /^$/ 日期对象 Math 实例对象
- function
- ES6中新增 Symbol 唯一值
NaN 是数值型
NaN = NaN 也是不相等的,和谁都不相等,所以检测是否为有效数字需要用isNaN
对象的属性名一定不能是引用类型值,默认会把引用类型值转换为字符
let a = {
x: 100
};
let b = function fn() {
let a = 100;
}
let obj = {
0: 100,
true: '珠峰'
};
obj[a] = 1000;
obj[b] = 2000;
console.log(obj);
console.log(obj[a]);
console.log(obj[0]);
console.log(obj['0']);
console.log(obj[true])
console.log(obj['true']);
输出结果:
数组是特殊的对象
对象的属性是键值对,数组其实也可以看成键值对。
例题
let a = {};
b = '0';
c = 0;
a[b] = 'hello';
a[c] = 'world';
console.log(a[b]);
输出结果是world
let a = {};
b = Symbol('0');
c = Symbol('0');
a[b] = 'hello';
a[c] = 'world';
console.log(a[b]);
结果是 hello
let a = {};
b = {
n: 1
};
c = {
m: '2'
}
a[b] = 'hello';
a[c] = 'world';
console.log(a[b]);
结果是world