Typescript

Typescript,第1张

1.unknown(未知类型)是一个类型安全的any 不能赋值给任何值(any可以赋值给任何值)可以通过类型断言去赋值
let n:unknown;
n=1;
n="n";
let m:string = n as string;
console.log(m)
2.类型断言 as,用来告诉解析器变量的实际类型 语法1:变量 as 类型语法2:<类型>变量 3.void和never void:没有值或undefinednever:不能是任何值(用得少,了解即可)
function fn():never{
    throw new Error('报错了')
}
4.联合类型(|)
let n:"red" | "blue";
n="red"; // 正确
n="orange"; // 报错

let n:string | number;
n="red"; // 正确
n=true; // 报错
5.对象(Object)
// 属性名后追加?:表示属性是可选的
let obj:{name:string,age?:number}
obj = {name:'张三'}
obj = {name:'张三',sex:'男'} // 报错,不可以多传

// 不确定参数个数
let obj:{name:string,[propName:string]:any}
obj = {name:'张三',age:18}
6.定义函数结构
let fn:(a:number,b:number)=>number;
fn=function(a,b){
    return a+b
}
7.数组的类型声明方式 第一种:类型[]第二种:Array<类型> 8.元组:固定长度的数组 
let arr:[number,number]
arr = [1,2]
arr = [1,2,3] // 报错

9.枚举(enum) 默认从0开始,依次增大序号(注意点:如果第一个值给的不是number类型,后面跟着的值也需要赋给初始值

enum Color{
    Red,
    Blue='blue'
}
console.log(Color.Red,Color.Blue) // 0,  "blue" 
10.同时满足(&)
let obj:{name:string} & {age:number}
obj = {name:'张三',age:18}
obj = {name:'张三',age:18,sex:1} // 报错
obj = {name:'张三'} // 报错
11.类型别名
type types = 1 | 2 | 3
let a:types
let b:types
a=1
a=4 // 报错
12.类
// 写法一
    name:string
    constructor(name:string){
        this.name = name
    }
    // 写法二
    constructor(public name:string){
    }
implements实现接口extends继承

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1297825.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存