Os oito tipos de javaScript em typeScript
1. Tipo booleano
let bool: boolean = false
bool = true
// bool = 'hello' // 不能将类型“"hello"”分配给类型“boolean”。
// bool = 123 // 不能将类型“123”分配给类型“boolean”。
// 赋给 bool 的值也可以是一个计算之后结果是布尔值的表达式,比如:
let b = !!0
console.log(b) // false
2. Tipo numérico
let num: number = 0
num = 123
num = 0b1111011 // 二进制的 123
num = 0o173 // 八进制的 123
num = 0x7b // 十六进制的 123
// num = '100' // 不能将类型“"100"”分配给类型“number”。
// num = false // 不能将类型“false”分配给类型“number”。
3. Corda
No tipo de string, você pode usar aspas simples e duplas para envolver o conteúdo, mas talvez a regra tslint que você usa detecte as aspas. O uso de aspas simples ou duplas pode ser configurado na regra tslint. Você também pode usar strings de modelo de sintaxe ES6, é mais conveniente concatenar variáveis e strings.
let str: string = 'hello'
let st: string = `${str}`
// str = 100 // 不能将类型“100”分配给类型“string”。
// str = false // 不能将类型“false”分配给类型“string”。
let s: 'STRING'
// 另外还有个和字符串相关的类型:
// 即把一个字符串字面量作为一种类型,比如上面的字符串"STRING",当你把一个变量指定为这个字符串类型的时候,就不能再赋值为其他字符串值了,如:
// s = 'a' // 不能将类型“"a"”分配给类型“"STRING"”。
4. Matriz
// 在 TypeScript 中有两种定义数组的方式:
let list1: number[] = [1, 2, 3]
let list2: Array<number> = [1, 2, 3]
// let list3: ReadonlyArray<number> = [1, 2, 3] // 即只读数组。
list3 = []
// console.log(list3)
O primeiro formulário usa number[]
o formulário para especificar que os elementos desse tipo são todos tipos de array do tipo
number.Este método de escrita é o método de escrita recomendado,
e o segundo método de escrita também pode ser usado.
Observe que os dois tipos de escrita number
especificam o tipo de elementos de array, e você também pode especificar qualquer tipo de elemento de array aqui.
Se você deseja especificar uma matriz de elementos pode ser numérico ou uma string, então você pode usar desta forma: number|string[]
,
quando aprendemos esta forma de tipos de união será mencionado mais tarde.
Quando você usa a segunda forma de definição, tslint pode avisá-lo para usar a primeira forma de definição. Se você quiser apenas usar a segunda forma, pode "array-type": [false]
desativar a detecção disso por tslint adicionando as regras de tslint.json .
5. nulo
let u: undefined = undefined
// 这里可能会报一个 tslint 的错误:Unnecessary initialization to 'undefined',就是不能给一个值赋 undefined,但我们知道这是可以的,所以如果你的代码规范想让这种代码合理化,可以配置 tslint,将"no-unnecessary-initializer"设为 false 即可
6. não definido
let n: null = null
7.objeto
let obj: object
obj = { name: 'object' }
// console.log(obj.name) // 类型“object”上不存在属性“name”
8. símbolo
let sym: symbol = Symbol('你好')
console.log(sym)