
typescript
渣渣前端
公众号:小码农的成长之路
展开
-
ts中type和interface的区别
首先,interface只能表示function,object和class类型,type除了这些类型还可以表示其他类型,例如interface A{name:string; add:()=>void;}interface B{():void}type C=()=>number;type D=string;type E={name:string,age:number}interface可以合并同名接口,type不可以interface A{nam原创 2020-06-29 09:50:02 · 19453 阅读 · 0 评论 -
ts学习笔记(5)
属性装饰器function decorate(param:any){ param.prototype.test='zz'}@decorateclass Test{ public name:string; constructor(name:string){ this.name=name; }}var x=new Test('zz')console.log(x.test)//打印xx还有一种是写在属性上面function decor原创 2020-06-11 22:27:48 · 314 阅读 · 0 评论 -
ts学习笔记(4)
类型断言interface A{ teacher():void}interface B{ study():void}function fs():A|B{ return {}as A;}var obj=fs();obj.teacher()//报错(<A>obj).teacher()//正确类型保护function isTeacher(demo:A|B):demo is A{ return (<A>demo).teacher原创 2020-06-07 10:33:08 · 401 阅读 · 0 评论 -
typescript学习笔记(3)
ts在react中的应用//声明一个组件const Hello=(props:any)=>{return(<div>{props.message}</div>)} export default Hello//App.jsfunction App() { return ( <div className="App"> <Hello message={"text"}></Hello> </div&g原创 2020-05-23 00:58:36 · 339 阅读 · 0 评论 -
ts学习笔记(2)
类型推论let str='1'str=0;let arr=['xx',1];//等同于 let arr:Array<string,number>=['xx',1]arr=[1,2,false]上面两个会报错,因为第一个会把str推断为string类型,再赋值为其他类型就会报错。arr也一样,会推断为联合类型,就是包含字符串和number的类型,再添加布尔类型会报错兼容性interface A{name:string,age:number}var obj1={name原创 2020-05-20 22:32:53 · 673 阅读 · 0 评论 -
初识typescript
typescript有11种数据类型,有boolean类型,number类型,string类型,array类型,tuple(元组)类型,enum(枚举)类型,any(任意)类型,null,undefined,void类型和never类型。首先先来看变量的声明方式var str:string='123';var num:number=123;var bool:boolean=true;...原创 2019-08-05 13:49:20 · 236 阅读 · 0 评论 -
ts学习笔记(1)
ts的接口有两种,一个是对象类型接口,一个是函数类型接口先来看对象类型的接口interface A{name:string,age:number,sex?:string}var obj1:A={name:'xx',age:20,sex:'man'}/* 接口定义了什么属性,该接口类型的对象就只能有这些属性,如果再添加其他属性则会报错。?表示该属性可以没有*/interface A{name:string,age:number}interface B{data:A[]}var re原创 2020-05-17 00:43:46 · 541 阅读 · 0 评论