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
arr: number[] = [1,2,3,4];
arr= NumberArray = [1,2,3,4]
剩余参数:
push(array:any[],...items:any[])
可选参数:
build(lastName:string,firstName?:string){}
类型断言:
泛型:不知道类型是啥
function identity
function getData
interface ConfigFn{
}
const getData2:ConfigFn = function
动态泛型:
interface Bookmark
class BookmarkService
items: T[] = [];
}
const s = new BookmarkService2
接口实现:
interface IPriceData{
id:number;
m:string;
}
type IPriceDataArray = IPriceData[]; 给接口定义数组
function getPriceData(){
return new Promise
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
评论区