interface
undefined 是所有类型的子集 枚举类型,指定特定的数据类型
enum Sport {
basketball="1",
football=2
}
let a:Sport=Sport.football
console.log(a);
断言 as 主观的认为是某种类型。
interface 规定某个对象必须具有特定的类型
如何用interface声明 函数里面有一个函数
interface Calculator {
(a: number, b: number): number
minus(a: number, b: number): number
}
let add: Calculator = (
(): Calculator => {
let x: any = function (a: number, b: number) {
return a + b;
}
x.minus = function (a: number, b: number) {
return a - b;
}
return x
}
)()
索引签名
在js中一个对象或者属性必须是string或者number.虽然没有明确说明,但是发生了隐式转换
let a:{
// name 是一个字符串
name:'1'
}
继承 extends
- 一个interface 可以继承多个接口,也可以继承
链式接口链式继承,继承一个有继承接口的接口
interface 有机物 {
c:string,
h:string,
o:string
}
interface Human extends 有机物 {
name:string,
age:number
}
interface Male extends Human {
mustache:boolean
}
let 张三:Male={
name: "张三",
age: 0,
c: "1",
h: "2",
o: "4",
mustache: false
}
- 继承多个接口
interface Male extends Human,有机物 {
mustache:boolean
}
let 张三:Male={
name: "张三",
age: 0,
c: "1",
h: "2",
o: "4",
mustache: false
}
对于ts的配置进行学习 tsconfig