// ES6允许把声明的变量直接赋值给对象
let name='王二麻子'
let age=55
let arr={name,age}
console.log(arr)
//对象Key值构建
let key='age'
let arr1={
[key] :'18'
}
console.log(arr1.age)
//===同值相等 is 是严格相等
let obj={name:'北京'}
let obj1={name:'北京'}
console.log(Object.is(obj.name,obj1.name)) // true
console.log(+0===-0) // true
console.log(NaN===NaN) // false
console.log(Object.is(+0,-0)) // false
console.log(Object.is(NaN,NaN)) // true
// Object.assign() 合并对象
let a={name:'中国'}
let b={age:'5000年'}
console.log(Object.assign(a,b))
//Symbol对象元素的保护作用
let arr2={name:'李四',school:'太湖县弥陀镇',age:18}
for(let item in arr2){
console.log(arr2[item])
}
// 如果想对年龄进行保护的话
let obj2={name:'张三',school:'太湖县弥陀镇'}
let age2=Symbol()
obj2[age2]=18
console.log(obj2) // {name: "张三", school: "太湖县弥陀镇", Symbol(): 18}
for(let item in obj2){
console.log(obj2[item]) // 张三 太湖县弥陀镇
}
//想要取到age
console.log(obj2[age2]) // 18