1.String和string(基础类型)
wabicai
# 1.String和string(基础类型)
看:
const s1: String = "hello"; // 正确
const s2: String = new String("hello"); // 正确
const s3: string = "hello"; // 正确
const s4: string = new String("hello"); // 报错
1
2
3
4
5
2
3
4
5
类似的还有:
- Boolean 和 boolean
- String 和 string
- Number 和 number
- BigInt 和 bigint
- Symbol 和 symbol
建议只使用小写类型,不使用大写类型。因为绝大部分使用原始类型的场合,都是使用字面量,不使用包装对象。而且,TypeScript 把很多内置方法的参数,定义成小写类型,使用大写类型会报错。
# Object类型
TypeScript 的对象类型也有大写Object和小写object两种。
# 大Object
大写的Object类型代表 JavaScript 语言里面的广义对象。所有可以转成对象的值,都是Object类型,这囊括了几乎所有的值。
事实上,除了undefined和null这两个值不能转为对象,其他任何值都可以赋值给Object类型。
不建议使用,因为不符合直觉
let obj: Object;
obj = true;
obj = "hi";
obj = 1;
obj = { foo: 123 };
obj = [1, 2];
obj = (a: number) => a + 1;
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 小Object
小写的object类型代表 JavaScript 里面的狭义对象,即可以用字面量表示的对象,只包含对象、数组和函数,不包括原始类型的值。