1.typescript 类型定义
代码如下(示例):
//基础类型
/**
* 1. 布尔 boolean
* 2. 数字 number
* 3. 字符串 string
* 4. 数组 array
* 5. 元组 Tuple
* 6. 枚举 enum
* 7. 任意 any
* 8. Void
* 8. Null 和 Undefined
* 8. Never
*/
// 布尔类型(boolean) true false
let isDone: boolean = false;
isDone = true
// isDone = 'true' 错误写法
// 数字类型(number)
let num:number = 1213
num = 456
num = 45.6
// num= '456' 错误写法
// 字符串(string)
let str:string = "this is string"
str = 'this is'
// str = 456 错误写法
// str = true 错误写法
// 数组(array) 两种方式
// 第一种
// 字符串类型
let arr:string[] = ["121","231"]
// 数组类型
let arr1:number[] = [12,223]
// 第二种(泛型定义)
let arr3:Array<number> = [1312,1212]
let arr4:Array<string> = ["1312","1212"]
// 元组类型 (属于数组中的一种) 指定类型
let arr5:[string,number] = ['1231',5555]
// 枚举 (用于标示状态)
enum flag{
id = 1111,
number = 2,
}
let f:flag = flag.id
// console.log(f)
// 特点 如果不赋值 默认取下标 如果其中一个赋值,效果如下
enum Color {red,blue = 3,green}
// console.log(Color.red) // 0
// console.log(Color.blue) // 3
// console.log(Color.green) // 4
// 任意类型 any (为不清楚的变量指定一个类型)
// 下面其实是一个对象,但有的时候不知道类型
// let oBox:any = document.getElementById('box')
// oBox.style.color = 'red'
// null和undefined
// let n:string;
// console.log(n) // undefined 会编译报错
// 如下用法
let n:undefined;
// console.log(n) // undefined
let title:null;
title = null
// console.log(title) // null
// 一个元素可能是number 可是是null 可能是 undefined
let m:number | null | undefined
// console.log(m)
// void类型 没有任何类型 一般用于定义方法的时候没有返回值
// 正确写法
function run():void {
console.log('执行了')
}
// // 错误写法
// function run():number {
// console.log('执行了')
// }
run()
// ------------------------
// 如果方法有返回值(指定返回的类型)
// 正确写法
function runNumber():number {
return 123
}
runNumber()
// never 类型 表示的是那些永不存在的值的类型
let c:never;
c=(()=>{
throw new Error('错误')
})()