类型别名
下面的代码将 string 类型赋值给一个别名,以后如果出现别名的地方,就好比出现类型 string,同理其他类型也一样
type Name=string
let gender:Name='男'
接口
接口定义一些规范,实现该接口必须要实现该接口定义的规范
一个 class 可以实现多个接口,但是一个 class 只能继承一个类
interface INamed{
name:string
// 注意没有方法体,在具体的对象中实现方法体
print():void}
const sayName=(o:INamed)=>{o.print()
}
const person={
age:27,
name:'jack',
print:function(){console.log(this.name)
}
}
sayName(person)
一个类可以实现一个或者多个接口,前提是必须实现接口中的每一个属性和方法, 但是类中也可以有自己的属性和方法
interface Person{
name:string
greeting():void}
// 类实现接口,一个接口可以供多个类实现
class Employee implements Person{
name:string='Jack';
greeting():void {console.log('我是一个 employee')
};
}
let em:Employee=new Employee()
em.greeting()
可选属性:
表示一个属性或者方法是可有可无,在属性名后面加个?
interface Person{
first_name:string
last_name?:string
print?():void}
let p={
first_name:'Tome',
last_name:'Jack'
}
const sayName=(o:Person)=>{console.log(o.first_name)
}
sayName(p)
tip:
- 在使用 ts 过程中,推荐一款工具,可以在编译 ts 之后,自动执行编译出来的 js 文件,ts-node
- 在使用 node 的环境中,比如运行一个编译好的 js 文件,通常通过 node index.js, 这时特别推荐 nodemon,他会监听文件的修改,只要文件有所修改,就会自动重启服务器,相当于我们使用的热更新
扫码关注公众号,有更多精彩文章等你哦