symbol
概念:表示独一无二的值
基本使用: 通过Symbol函数生成,得到一个symbol类型的值
使用场景:一般用在对象属性名,确保在对象中不会出现同名的属性,防止不小心修改或者覆盖。
Symbols 与 JSON.stringify()
1.当使用 JSON.strIngify() 时,以 symbol 值作为键的属性会被完全忽略
JSON.stringify({[Symbol("foo")]: "foo"}); // '{}'
2.Symbol 数据类型的另一特点是隐藏性,for···in,object.keys() 不能访问
let id = Symbol("id"); let obj = { [id]:'symbol' }; for(let option in obj){ console.log(obj[option]); //空 } undefined Object.keys(obj) []