下面的代码将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,他会监听文件的修改,只要文件有所修改,就会自动重启服务器,相当于我们使用的热更新