TS 一样拥有 Symbol 类型
是JS 新增的一种原始类型,就像 number 和 string 一样
let sym1 = Symbol();
let sym2 = Symbol("key"); // 可选的字符串key
let sym3 = Symbol("key");
let sym4 = Symbol("key");
sym2 === sym3; // false, symbols是唯一的
symbols 是具有唯一性的
symbols 去做对象的键
let sym = Symbol();
let obj = {
[sym]: "value"
};
console.log(obj[sym]); // "value"
每个 Symbol 值都是唯一的,即使两个 Symbol 值的描述(description)相同,它们也不相等。
Symbol 不能被隐式转换为字符串(比如不能直接拼接到字符串中)。
可以作为对象的属性键,且不会与其他属性键发生冲突。
上面是它的特点但是业务中不会常用的。
文章采用 知识共享署名 4.0 国际许可协议 进行许可,转载时请注明原文链接。