ES5中基本数据:null、undefined、number、boolean、string
ES6中新增的基本数据:Symbol
var a=new Number(200)
var b=100
b.age=20//new Number(100)
console.log(b.age)//new Number(100)
在这之前,先看一个易错的js基础
在代码中,打印的值为undefined因为b是Number函数构造出来的,而每一次使用b.age都会从Number函数中构造一个b作为引用数据,因此第二个b.age并没有给出定义。
接下来就是Symbol:
它是一个内置全局函数,生成一个独一无二的数据
let s1=Symbol(100)
let s2=Symbol(100)
console.log(s1,s2,s1==s2)
最后打印出来的结果为false
Symbol的作用就是在一个团队进行代码编程时,代码量上去了,很多变量名都不知道是否使用了,这时候可以用Symbol来创建一个独一无二的,以免之前的被覆盖。
var obj={age:20}
function tool (obj) {
let age=Symbol("年龄")
// obj.age=100
obj[age]=30 //这时就没有改变obj里age的值
}
console.log(obj.age)