TS类型
// 引入其他的ts文件
// 浏览器不支持 // import { ming } from './mingningkongjian' // 或者以下写法 // 如果一个命名空间在一个单独的 TypeScript 文件中,则应使用三斜杠 /// 引用它,语法格式如下 // /// <reference path = "./mingningkongjian.ts" /> // let mingP = new ming.Person('11') // mingP.run()
let str: string = 'hello ts1' let boo: boolean = true let num: number = 113 let any: any = 113 // 数组1 let arr1: number[] = [1, 2, 3] let arr2: string[] = ['1', '2', '3'] // 数组2 let arr3: Array<number> = [88] // 元组类型 tuple let arr4: [string, number, boolean] = ['1', 2, true] let arr5: any[] = ['1', 2, true] console.log(arr1, arr2, arr3) console.log(arr4) console.log(arr5) // 枚举 enum Flag { success = 1, error = -1, '枚举' = 2, other, } let f: Flag = Flag.success console.log(f) console.log(Flag.error) console.log(Flag['枚举']) // 不赋值,索引值 console.log(Flag.other) // 对象 let obj: Object = { a: '11' } console.log(obj) // 函数不返回类型 function run(): void { console.log('run1') } run() function run1(): number { console.log('run2') return 1 } run1() // ? 可选参数 // = 默认参数 let fun = function (name: string, age?: number, sex: string = '男'): number { console.log('fun', `${name}----${age}----${sex}`) return 1 } fun('aaa', 18, 'gril') fun('bbb') // ...剩余参数 function sum(a: number, ...result: number[]): number { let n = a result.forEach((item) => { n += item }) console.log(n) return n } sum(1, 2, 3, 4, 5, 6, 7, 8) // 重载 function getInfo(name: string): string function getInfo(age: number): number function getInfo(str: any): any { if (typeof str === 'string') { console.log(`stringstringstringstring${str}`) } else { console.log(`numbernumbernumbernumber${str}`) } } getInfo('aasdvd') getInfo(2434534554) // 其他类型 var a: never a = (() => { throw new Error('11') })()