string
- 在非严格模式 (strictNullChecks) 下,string、number、boolean 都可以为空;
const d1: string = null; const d2: number = null; const d3: boolean = null;
- 示例代码
// 字符串类型 ---->string let str1: string = '床前明月光' let str2: string = '疑是地上霜' console.log(`${str1},${str2}`) // 字符串和数字之间能够一起拼接 let str5: string = '我有这么多的钱' let num: number = 1000 console.log(str5 + num)
number
-
在非严格模式 (strictNullChecks) 下,string、number、boolean 都可以为空;
const d1: string = null; const d2: number = null; const d3: boolean = null;
-
示例代码
// 数字类型 ----->number let a1: number = 10 // 十进制 let a2: number = 0b1010 // 二进制 let a3: number = 0o12 // 八进制 let a4: number = 0xa // 十六进制 // 数字类型 也包括 NaN Infinity const a5: number = NaN; const a6: number = Infinity;
boolean
-
在非严格模式 (strictNullChecks) 下,string、number、boolean 都可以为空;
const d1: string = null; const d2: number = null; const d3: boolean = null;
-
示例代码
// 布尔类型 ----->boolean let flag: boolean = true let flag2: boolean = false
null 和 undefined
-
undefined 和 null 都可以作为其他类型的子类型,把 undefined 和 null 赋值给其他类型的变量;
let und: undefined = undefined let nll: null = null let num2: number = undefined let num2: number = null
-
如果说 strictNullChecks 的值为 true,则不能把 null、undefined 赋值给 y,只能赋值给自身;
// 如果说 strictNullChecks 的值为 true,则不能把 null undefined 赋值给 y,只能赋值给自身 let y: number | null | undefined; y = 1; y = undefined; // 若 y 不定义多个类型,会报错 y = null; // 若 y 不定义多个类型,会报错
symbol
-
Symbol 是 ES2015 标准中定义的成员,使用它的前提是必须确保有对应的 ES2015 标准库引用,也就是 tsconfig.json 中的 lib 选项必须包含 ES2015;
// "lib":["dom", "ESNext"], const s1 = Symbol('key'); const s2 = Symbol('key'); // s1 永远不等于 s2
TypeScript👉 配置文件
上一篇