typescript要点

董俊豪
2022-02-22 / 0 评论 / 0 点赞 / 532 阅读 / 1,317 字
温馨提示:
本文最后更新于 2023-07-21,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

https://www.jianshu.com/p/97d6552c9b70
拥有类型的javascript,提前进行类型检查
any never void 元组(类型不同) 枚举enum 高级类型interface 类型集合(小写)
{
"compilerOptions":{
"lib":["ES6","DOM"],
"target":"ES6",
"noImplicitAny":true,
"strict":true,
"noImplicitThis":true,
"strictNullChecks":true,
"experimentalDecorators":true,
"emitDecoratorMetadata":true,
"types":["reflect-metadata"],
}
}
数组定义:
arr= new Array(4);
arr: number[] = [1,2,3,4];
arr= NumberArray = [1,2,3,4]
剩余参数:
push(array:any[],...items:any[])
可选参数:
build(lastName:string,firstName?:string){}
类型断言:
str
泛型:不知道类型是啥
function identity(arg: T): T{}
function getData(value:T):T{}
interface ConfigFn{
(value:T):void;
}
const getData2:ConfigFn = function(value:T):void{}
动态泛型:
interface Bookmark

class BookmarkService{
items: T[] = [];
}
const s = new BookmarkService2();
接口实现:
interface IPriceData{
id:number;
m:string;
}
type IPriceDataArray = IPriceData[]; 给接口定义数组
function getPriceData(){
return new Promise((resolve,reject)=>{
fetch('url')
.then(function(response){
return response.json();
})
.then(function(myjson)){
const data:IPriceDataArray = [];
resolve(data);
}
})
}
getPriceData().then((data)=>{
console.log(data[0].id)
})
//interface 与type的区别
都可以描述一个对象或者函数,都允许进行扩展
不同点:
1.type 声明基本类型别名,联合类型,元组
2.typeof获取实例对象
3.interface可以被合并

A Extends B,A可以分配给B

0

评论区