Typescript学习Day1(基础类型)

1,字符串

let name : string = 'nineone';
let age : number = 18;
let sex : string = '男';
let people : string =`
	我的名字是&{name},
	我今年&{age}了,
	我是&{sex}性
`
console.log(people)   

2,数字

let num1 : number = 16;
let num2 : number = 0x10;
let num3 : number = 0o20;
let num5 : number = 0b10000;
console.log(num1,num2,num3,num4) //16,16,16,16

3,布尔

let flag : boolean = true
console.log(flag) //true

4,数组

let numArr : number[] = [1,2,3]  //数字数组 , 内部只能存放数字
let strArr : string[] = ['lisi','wanger','mimi']  //字符串数组 , 内部只能存放字符串
//上下两种方式都是一样的效果,需要掌握.
let boolArr : Array<boolean> = [true,false]   //数组泛型 , Array<元素类型>

5,元组 Tuple

 //元祖的数量和类型都是写死的 , 如果数量和类型有任何不一样都会报错
let tuple : [string,number,boolean,string] 
tuple = ['usa',10,true,'china']  //正确不报错
//  tuple = ['usa',10,true,'china',22] //报错
 

6,枚举

enum Sex{    //默认从0开始
	Man,  //0
	Woman  //1
} 
let sex1 : Sex = Sex.Woman
let sex2 : Sex = Sex.Man
console.log(sex1,sex2)  //1 0

//手动赋值
enum Sex{  
	Man = 10,  
	Woman = 99  
} 
let sex1 : Sex = Sex.Woman
let sex2 : Sex = Sex.Man
console.log(sex1,sex2)  //99 10

//由枚举的值得到枚举的名字
 enum Sex{  
	Man = 10,  
	Woman = 99  
} 
let sexName : string = Sex[99]
console.log(sexName)  //Woman

7,any

//any代表任意类型
let str : any
str = '还是宝宝'
str = 100
str = true

let arr : any[] = ['lili',99,false,'女']
arr[3] = 22

8,void

//void跟any类型相反,他表示没有任何类型。当一个函数没有返回值时,通常会设置其返回值类型为void
//如果声明一个void类型的变量,只能为他赋予undefined和null
function logMsg():void{
	console.log('hello')
}

9,null和undefined

//undefined和null两者各有自己的类型分别叫做undefined和null
//默认情况下null和undefined是所有类型的子类型
//我们可以把null和undefined赋值给任意类型的变量
//let str1 : null = null
//let str2 : undefined = undefined
//let str3 : null = undefined
//let str4 : undefined = null
let str : string = null
let str1 : string = undefined

10,never

//必须存在无法到达的终点
//never常用于底层框架,了解即可
//使用场景1 抛出异常的函数

function error (msg:string) : never{
	throw new Error(msg)
}
error('发生未知错误')
//使用场景2 永真/永假的时候
function func() : never{
	while (true){
	  console.log(1)
	}
}

11,object

//object代表非原始类型,也就是除number,string,boolean,symbol之外的类型
//在编写类声明文件(.d.ts)时,object类型就有很大作用

let obj : object = {name:'nineone',age:22}
console.log(obj)
obj = [1,2,3]  //object代表非原始类型,也就是除number,string,boolean,symbol之外的类型

12,类型断言

//1,开发中,会遇到这种情况,你知道某个实体某个变量某个函数会返回的是什么类型,我们可以通过类型断言这种方式可以告诉编译器
//2,类型断言好比其他语言里的类型转换,但是不进行特殊的数据检查和解构
//3,没有运行时的影响,只是在编译阶段起作用

//类型断言形式:
//1,尖括号语法
//2,as语法 推荐使用as语法
//方式1<>
let obj:any = '今天星期六'
let str:string = (<string>obj).substr(0,3)
//方式2 as
let str2:string = (obj as string).substr(0,3)  //推荐使用as
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值