TP-基本类型

校验空值

tsc xxx.ts --strictNullChecks 

布尔值

let isDone: boolean = true || false

数字

let decLiteral:number = 20 // 十进制
let hexLiteral:number = 0x14 // 十六进制
let binaryLiteral: number = 0b10100 // 二进制
let octalLiteral: number = 0o24 // 八进制

字符串

let name : string = '扯淡也是一种艺术'

let age : number = 29

let sentence = `Hello, my name is ${name}


I'll be ${aeg +1} year old next month`;

// let sentence = 'Hello, my name is ' + name + '.\n\n' + 'I\'ll be' + (age+1) + 'year old next month'

数组

 let list:number[] = [1,2,3];  //数组类型

let list:Array<number> = [1,2,3] // 数组泛型

元组(Tuple)

let x: [string, number] 
x = ['hello', 10]

越界元素
x[3] = 1 // 联合类型, 只要是string ,number;

注意 3.1版本之前,不会报错,之后版本会报错

枚举

// 枚举类型, 是对JavaScript类型的一种补充。枚举类型可以对一组数值赋予更友好的名字, 例如: 表达一种颜色有三种类型。红绿蓝

enum Color {
    Red = 1,
    Green = 2,
    Blue = 4
}

let c: Color = Color.Green;
let colorName: string = Color[2];
console.log(colorName)  // Green

any

// 不希望类型检查

let notSure : any = 4
notSure = 'maybe a string instead'
notSure = false


void

 // 没有任何类型
function warnUser():void {
    console.log('This i my waring message')
}

let unuseable : void = undefined  || null

null 和 undefined

let n : null = undefined; // 子类型可以赋值给父类型

never

// 永远不存在 - 用于函数中, 抛出异常。

function error(message: string):nerver {
    throw new Error(message)
}

function fail() {
    return error('something failed')
}

function infiniteLoop(): never {
    while(true) {
        
    }
}

Object

// declare 表示声明一个关键字。
declare function create(o: object | null): void;

create({props: 0})
create(null)

// 例如下方就不满足
create(42)
create(false)
create(undefined)
create('string')

类型推断(断言) as

// 例如 告诉浏览器 你可以相信我, 我知道我在干什么
let someValue: any = 'this is a string'
 // someValue.length
 
 // let stringLength: number = (<string>someValue).length
 let stringLength: number = (someValue as string).length
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容