TypeScript入门教程(十) - Symbols

TypeScript入门教程(十) - Symbols

自ECMAScript 2015(ES6)起,symbol成为了一种新的原生类型,就像number和string一样

介绍

symbol类型的值是通过Symbol构造函数创建的

let sym1 = Symbol();

let sym2 = Symbol("key"); // 可选的字符串key

需要注意的是symbol是唯一的
像字符串一样,symbols也可以被用做对象属性的键,也可以计算出的属性名声明相结合来声明对象的属性和类成员

let sym = Symbol();

let obj = {
    [sym]: "value"
};

console.log(obj[sym]); // "value"


const getClassNameSymbol = Symbol();

class C {
    [getClassNameSymbol](){
       return "C";
    }
}

let c = new C();
let className = c[getClassNameSymbol](); // "C"

更多Symbols用法建议查看阮一峰ES6里面写的很详细

上面我们介绍了TypeScript的Symbols,第十一节我们将介绍迭代器和生成器

文章参考TypeScript中文网