0
点赞
收藏
分享

微信扫一扫

ES6 从入门到精通 # 09:Symbol 类型


说明

ES6 从入门到精通系列(全23讲)学习笔记。

Symbol 类型

原始数据类型:Symbol,它表示是独一无二的值。

最大的用途:用来定义对象的私有变量。

const kaimo = Symbol("kaimo");
const kaimo2 = Symbol("kaimo");
console.log(kaimo === kaimo2);

ES6 从入门到精通 # 09:Symbol 类型_javascript

如果用 Symbol 定义的对象中的变量,取值时一定要用 ​​[变量名]​​。

let s = Symbol('s');
console.log(s);
let obj = {
[s]: "kaimo"
}
console.log(obj[s]);

ES6 从入门到精通 # 09:Symbol 类型_取值_02

注意:用 Symbol 定义的对象中的变量无法被 ​​for in​​ 遍历出来

let s = Symbol('s');
let obj = {
[s]: "kaimo",
ss: "kaimo2"
}
for(let key in obj) {
console.log(key)
}

ES6 从入门到精通 # 09:Symbol 类型_私有变量_03

应该使用 ​​Object.getOwnPropertySymbols​​​ 或者 ​​Reflect.ownKeys​​ 去处理。

let s = Symbol('s');
let obj = {
[s]: "kaimo",
ss: "kaimo2"
}
console.log(Object.keys(obj))
console.log("--------------")
console.log(Object.getOwnPropertySymbols(obj))
console.log("--------------")
console.log(Reflect.ownKeys(obj))

ES6 从入门到精通 # 09:Symbol 类型_私有变量_04


举报

相关推荐

0 条评论