TypeScript的原始数据类型

原始数据类型

原始类型基本与JavaScript相似,新加入了ES6的symbol类型。

布尔值(Boolean)

与JavaScript一样,都是true/false。

数字(Number)

在typescript中,所有的数字都是浮点数。浮点数类型同为 number。除了支持十进制和十六进制以外,typescript还支持ES6中引入的二进制以及八进制类型。二进制:0b;八进制:0o;十六进制:0x;

字符串(String)

与JavaScript中相同。可以用 " "或者 ' '来表示字符串。也可以用ES6新加入的模板字符串 ` `完成变量与字符串的拼接。

Null和Undefined

null和underfined基本与JavaScript中的相同,他们本身的作用不是很大,默认情况下null和undefined是所有类型的子类型。但是在指定了 --strictNullChecks标记(我理解相当于use strict),null和undefined只能赋值给Void和他们各自。此时想要传入一个null或者undefined值时就需要使用到联合类型。例如:string | null | undefined。

symbol

symbol是ES6新增的类型。symbol类型的值是通过symbol构造函数来创建的。

例如:let sym = Symbol();

symbol的好处在于 symbols是不可改变以及唯一的。在定义两个描述相同的symbol时,sym1 === sym2永远会返回false。symbol 创建的对象属性无法被Object.keys以及for...in枚举。使用场景:

1.用symbol 作为对象的属性名(key)。symbol 创建的对象属性无法被Object.keys以及for...in枚举。利用该特性,我们可以把一些不需要对外操作和访问的属性使用Symbol来定义。

2.需要定义唯一常量的时候。

3.使用Symbol定义类的私有属性/方法。

你可能感兴趣的:(TypeScript的原始数据类型)