typeScript记录
慢慢先敲一波,上手再说
基础类型
数据类型 | 关键字 | 描述 |
---|---|---|
任意类型 | any | 赋予任意类型的值 |
数字类型 | number | 双精度64位浮点数,用来表述分数和整数 |
布尔类型 | boolean | 逻辑表示,true/false |
数组类型 | 无 | 声明数组:一、let arr: number []= [1,2,3] // 在元素类型后面加上[] ; 二、let arr: Array<number> = [1,2,3] |
元组类型 | 无 | 表示已知数量和类型的数组,元素类型必须一样,但是位置的类型必须相同let x:[string,number]; x=['string',666] |
枚举类型 | enum | 定义数值的集合 enum Color {Red, Green, Blue}; let c: Color = Color.Blue; console.log(c); // 2 |
void | void | 用于表示方法返回值的类型 |
null | null | 表示对象值缺失(空的对象引用) |
undefined | undefined | 用于初始化变量为一个未定义的值 |
never | never | never是其他类型(包含null和undefined)的子类型,表示从不会出现的值 |
试玩一下
var message:string = 'Hello World'
console.log(message) // Hello World
const hello:string = 'hello typeScript'
console.log(hello) // hello typeScript
let number:Number = 0b1010
console.log('number', number) // 10
any类型
// any类型
let x:any = 1
x = 'is string'
x = false
console.log(x) // false
let x1:any = 4
// x1.ifItExists() // 正确,ifItExists方法在运行时可能存在,但这里并不会检查
x1.toFixed()
let arr: any[] = [1,false,'any']
arr[1] = 111
console.log(arr) // [1, 111, 'any']
null和undefined
/**
* null 空的对象引用
* undefined 没有值的变量
* 按照现在这个版本(4.5.5)来说,null和undefined在任何情况都不会赋值
*/
let a:number
a = 1
a = undefined // 之前的版本会报错
a = null // 之前的版本会报错
// 更好的做法 (如果可能出现undefined或者null)
let a1:number | null | undefined
console.log(a) // 1
let a2: []
a2 = undefined
a2 = null
console.log('a2', a2) // null
// never
// 运行错误(不能将类型“number”分配给类型“never”。)
// x = 321
// 运行正确 类型可以赋值给 never类型)
// x = (() => {
// throw new Error('exception')
// })()
// 运行正确 never 类型可以赋值给 数字类型
// y = (() => {
// throw new Error('exception')
// })()
// 返回值为 never 的函数可以是抛出异常的情况
// function error(message: string):never {
// throw new Error(message)
// }
// 返回值为 never 的函数可以是无法被执行到的终止点的情况
// function loop():never {
// while(true) {}
// }