VueBloghyhero6

TS Symbol

2024-11-06 / 2024-11-06 / 44次浏览
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 不能被隐式转换为字符串(比如不能直接拼接到字符串中)。
可以作为对象的属性键,且不会与其他属性键发生冲突。

上面是它的特点但是业务中不会常用的。

TS