开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第28天,点击查看活动详情
7.类型断言 as
as的作用就是将大类型(document.createElement),变为小类型(HTMLAnchorElement)
const aLink = document.createElement('a') as HTMLAnchorElement
鼠标放在aLink上,就会显示 HTMLAnchorElement
8.接口 interface
当一个对象类型被多次使用时,一般会使用接口(interface)来描述对象的类型,达到复用的目的
都可以定义对象
interface Iperson{
name:string
age:number
sayHello() :void
}
const person:Iperson = {
name:'小花',
age:18,
sayHello() {
},
}
然后最开始的一篇文章里面也提到 type也可以自定义对象,也能起到复用的效果,那启不是跟接口功能一样?
type 跟 接口 interface 区别
是因为
①type不限于对象,它也可以自定义其他类型
而interface只能定义对象
②type不能继承
interface能继承
接口 继承格式(extends)
格式:
接口1 会包含所有接口2的属性
interface 接口1 extends 接口2 {
接口1的自己的类型
}
例如
interface Ipoint2D{
x:number,
y:number
}
const p1 :Ipoint2D = {
x :123,
y:1241
}
//接口继承
interface Ipoint3D extends Ipoint2D {
z:number
}
const p2 : Ipoint3D ={
x : 13,
y:14,
z:520
}
先定义 Ipoint2D中的x,y类型,然后在接口继承的时候定义 3D中的类型,在使用的时候接口已经把2D中的类型直接继承过去就可以直接使用,而type不行,它不能继承
9.any类型
any 类型, 任何类型,没有限制
有些时候可以临时写一下
1. 前端没有明确拿到后端的数据的时候,不知道使用什么类型来保存
2.可以先用下any ,让代码通过运行
有些时候,就应该是any
console.log() 它的参数就是any
默认为any
let b
function f(b){ }