TypeScript 基础类型哪些事儿,必须掌握

简单基础类型

1.数字number

//掌握:支持整型和浮点
//了解:支持十六进制字面量,二进制,八进制字面量
const age: number = 18
const num: number = 0.9
const num1: number = 0b11   //0b:二进制
const num2: number = 0o77 //0o:八进制
const num3: number = 0xf  //0x:十六进制

console.log(0b11,0o77,0xf) //3,63,15

2.字符串string

//掌握:支持模板字符串,支持拼接
const name: string = '毛皮'
const str: string = 'hello'
const str1: string = str+':'+name  // 'hello,毛皮'
const str2: string = `hi,${name}`  // 'hi,毛皮'

3.布尔boolean

const isDo: boolean = true

4.null 和 undefined

const empty: null = null
let u:undefined = undefined 

5.bigInt

const big: bigInt = 123456789n

6.symbol

let sym: symbol = Symbol('毛皮')

复杂基础类型

1.数组array

const ary1: number[] = [1,2,3]  // 推荐
const ary2: (number | string)[] = [1,'2',3]  // 推荐
const ary3: Array<number> = [1,2,3]
const ary4: Array<number | boolean> = [1,2,true]

2.对象object

let obj: object
obj = { name: '毛皮' }

3.元组Tuple

重点:规定元素数量和类型的数组

了解:可以通过数组方法添加已有的元素类型的元素到数组,并且添加的元素不支持直接访问,需通过数组方法访问。(不推荐添加元素,违背了元组式不可变的初衷)
const tup: [string,number] = ['hello',9527]

tup.push('world')
tup[2]     // 拿不到数据
tup.slice(2) // world

tup.push(true) //报错:元组元素类型是string,number

4.枚举

// 了解:自带类型的对象,自动增长
enum Roles {
  USER,   
  ADMIN,  
}
console.log(Roles['0']) //USER
console.log(Roles['1']) //ADMIN

// 掌握:常量枚举
const enum DIRE {
    Up = "UP",
    Down = "DOWN",
    Left = "LEFT",
    Right = "RIGHT",
}
console.log(DIRE.Up)  // UP
console.log(DIRE['0']) //报错:常量枚举要直接访问属性

5.any|void|never

// any:任意类型
let value: any;
value = 123;
value = "abc";
value = false;

const array: any[] = [1, "a", true];
// void:没有类型,常用于函数返回值,表示不返回值
function():void{}
// never:永远不会出现的类型,常用于函数校验参数
//保护类型,保障程序的完整性  针对不同类型做不同处理
function validate(value: never) {}
function say(text: string | number | boolean) {
  if (typeof text === 'string') {
    return
  }
  if (typeof text === 'number') {
    return
  }
  if (typeof text === 'boolean') {
    return
  }
  //永远不能到这里,不然就是 string | number | boolean =>给never
  validate(text)
}

函数function类型

直接定义

//掌握:b表示可选类型,可传可不传,可选类型要放在形参最后一位
//a:具有默认值
function say(a:string='1',b?:string):string{
    return a+b
}

接口定义

interface Isay = {
    (a: string, b?: string): string;
}
const say:Isay = (a=1,b)=>{
    return a+b
}

类型别名定义

type Isay = (a: string, b?: string): string;
const say:Isay = (a=1,b)=>{
    return a+b
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值