typescript 基础数据类型

1.字符串

let dogName:string ="旺财"
let dogAge:number = 5

let introDog:string = `我有一只狗,它叫${dogName},它今年${dogAge}。`

console.log(introDog);

2.数字

// 进制依次为 10  16  8  2
let num1:number = 16
let num2:number = 0x10
let num3:number = 0o20
let num4:number = 0b10000

console.log(num1,num2,num3,num4);

3.布尔

let flag:boolean = true

4.数组

let arr:number[] = [1,2,3] //数字数组

let str:string[] = ['a','b','c'] //字符串数组

let boolArr:Array<boolean> = [true,false]

console.log(arr,str,boolArr)

5.元祖 数组的升级版本 已知类型和数量

let tuple:[string,number,boolean,string]=['aa',1,true,'kk']

//使用tuple[index]. 可以直接点出来方法 ts会有相应类型方法的提示
//eg
console.log(tuple[0].length)

6.枚举 用于定义固定的取值的

//默认从0开始

// enum Sex {
//     Man,
//     Women
// }
// let sex1:Sex = Sex.Man
// let sex2:Sex = Sex.Women
// console.log(sex1,sex2)

//可手动赋值
enum Sex {
    Man=1,
    Women='heson'
}
let sex1:Sex = Sex.Man
let sex2:Sex = Sex.Women
console.log(sex1,sex2)

//由枚举的值获取枚举的名字
let sexName:string=Sex[1]
console.log(sexName)

7.any 当不确定类型的时候可标识any

let myName:any = 'jjj'
let array:any[] = [1,'aa',true,'heson']

8.void void类型与any类型相反 它表示没有任何类型

//当一个函数没有返回值时,通常会设置返回值类型为void
//如果声明一个void对象只能为它赋值null和undefined
function logMsg():void{
    console.log('ainihaizhen')
}
logMsg()

9.null和undefined

let str1:null = null
let str2:undefined = undefined

10.never 必须存在无法到达的终点 抛出异常的函数箭头函数的表达式的返回值类型

//是所有类型的子类型,也可以赋值给任何类型
//never没有子类型,任何类型都不可以给never类型赋值

//应用场景1,抛出异常函数
// function error(msg:string):never{
//     throw new Error(msg)
// }
// error('发生未知错误')

//应用场景2 永真永假
function error2():never {
    while(true){
        console.log(1)
    }
}

11.object 表示非原始类型

let obj1:object = {name:'heson',age:'18'}

declare function fun1(o:object):void

fun1({name:'heson'}) //ok
fun1([1,2,3]) //ok
fun1(null) //ok
fun1(undefined) //ok
// fun1(123) //false
// fun1('heosn') //false
// fun1(true) //false

12.类型断言

//开发中会遇到,你知道某个实体最终返回的是什么类型,我们可以通过类型断言这种方式告诉编译器
//类型断言好比其他语言里的类型转换,但是不进行特殊的数据检查和解构
//没有运行时的影响,只在编译阶段起作用
//断言的形式  1.尖括号语法 2.as语法 3.注意
let obj2:any = 'hello' 
//无提示
let str3:string = obj2.substr(0,3)
console.log(str3)
//有提示 方式一
let str4:string = (<string>obj2).substr(0,3)

//方式二
let str5:string = (obj2 as string).substr(0,3)

console.log(str3,str4,str5)

运行之后的结果为


我有一只狗,它叫旺财,它今年5。
16 16 16 16
[ 1, 2, 3 ] [ 'a', 'b', 'c' ] [ true, false ]
2
1 'heson'
Man
ainihaizhen
hel
hel hel hel

posted @ 2019-10-10 15:09  Heson  阅读(172)  评论(0编辑  收藏  举报
Live2D