TypeScript 符号类型
符号是在JavaScript的最后一次主要修订中引入的,即ES6。符号是一种数据类型。正如我们使用数字、字符串或布尔值来创建不同数据类型的变量一样,我们可以使用符号类型来创建Symbol。
使用符号类型有很多好处,因为它比其他数据类型提供更多的功能。在本教程中,我们将学习符号的基础知识以及符号的不同用途。
语法
用户可以按照下面的语法来创建一个符号数据类型的变量。
在上面的语法中,我们使用Symbol()构造函数创建了符号。我们也可以将键作为符号参数来传递,以识别该符号。
在TypeScript中,我们可以创建多个符号,这些符号是唯一的。这意味着符号是不可改变的;即使我们用相同的键创建一个符号,我们可以发现两个符号都是唯一的。
在上面的代码中,用户可以看到,它给出了一个编译错误,因为这两个符号是不可比的。
示例 1
在下面的例子中,我们已经创建了符号,并使用符号的描述属性来获得我们在创建符号时作为参数传递的值。
此外,我们还使用了toString()方法,将符号转换为一个字符串。
在编译时,它将在JavaScript中生成相同的代码。
输出
它将产生以下输出 —
例2:使用符号来定义对象属性
在下面的例子中,我们已经创建了符号并定义了对象。我们将obj_symbol作为对象的一个属性。同时,我们可以像对象的普通属性一样访问它。
在编译时,它将在JavaScript中生成相同的代码。
输出
它将产生以下输出 —
在switch case语句中使用符号
由于每个符号都是唯一的,我们可以把它作为switch-case语句的一个案例。当我们将符号与switch-case语句一起使用时,它可以确保每个case都是唯一的。如果任何案例与作为switch语句参数传递的案例不匹配,它将进入默认案例。
语法
用户可以按照下面的语法来使用符号类型与switch case语句。
在上面的语法中,一个符号被作为switch语句的参数传递。之后,我们使用符号名称后的case关键字来创建一个不同的案例。
示例
在下面的例子中,我们已经创建了四个不同的符号。之后,我们定义了print_symbol函数,其中包含switch case语句来处理不同的情况。
在switch case语句中,我们将符号值作为一个案例,并执行特定案例的代码。
在编译时,它将在JavaScript中生成相同的代码。
输出
它将产生以下输出 —
独特的符号
在TypeScript中,Symbol是一个原始的数据类型。所以,我们只需要把它作为一个类型来使用,但我们也可以使用 “唯一符号 “把它作为字面符号。符号包括唯一符号,这意味着唯一符号是符号的一个子类型。
我们可以只对常量变量和只读属性使用唯一符号。如果我们想把特定的符号类型引用到另一个变量,我们可以使用’typeof’操作符。
语法
用户可以按照下面的语法,用唯一的符号作为字面意思使用。
示例
在下面的例子中,我们声明了类型为符号的test_symbol,并使用唯一的符号关键字来使用该符号作为一个类型字。另外,用户可以观察到我们如何使用typeof操作符来使用符号作为用let和var关键字声明的变量的类型标识。
另外,我们使用了唯一的符号关键字来定义只读静态类的成员类型。
输出
上述代码将产生以下输出 —
我们在本教程中已经学习了符号类型的基本知识。此外,我们还学会了使用 “唯一符号 “关键字来使用符号类型作为一个类型字面。此外,我们还学会了使用typeof操作符来获取另一个变量的符号类型,并将其作为另一个变量的类型。