在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、typescript之基本类型的赋值 1、在基本类型赋值时,typescript要求做类型注解,格式为 let 变量 :类型=符合类型的值 number类型 let a:number=123; //a只能赋值number\null\undefined类型,可以赋值2进制、8进制和16进制,如let a:number=0x16 string类型 let b:string='234242'; //b只能赋值string\null\undefined类型 boolean类型 let c:boolean=true; //c只能赋值boolean\null\undefined类型,如true | false; null 类型 let d:null=null; //null是其他基本类型的子集可以直接赋值给其他类型如:let d:number=nulll 、let d:string=null; undefined类型 let e:undefined=undefined; //undefined 是其他类型的子集,可以赋值给其他类型,与null相似 注释:1、基本类型存储在栈区、运行速度快、存储空间小。 2、null为空,undefined指的是定义了但未赋值的变量,如 let a; a的值就为undefined; 二、引用类型的赋值 1、对象的赋值
interface Person { readonly id: number; //定义的值的前面加readonly代表只读属性,不能第二次赋值 name: string; age?: number; //?:的含义是可选参数可写,可不写 } let obj: Person = { //对象使用接口进行类型注解 id: 123, //inerface定义的、除了?:可选参数外,其他定义的属性必须要有. name: '123', } 2、函数的赋值
const test = function (a: number, b: string, c: number = 10): string { if (typeof c == 'number') { return a + b + c } else { return a + b; } } let a: (a: number, b: string, c: number) => string = test; //test的值是一个函数,ts有类型推断、判断出test的类型是函数,所以赋值给a,a也必须是一个函数。 3、类的赋值 //public private protected static class Anima { name: string = '123'; //name前可以加public属性,加public,它的实例、及继承它的class都可以使用name属性,private,只有它自己内部能使用、protected只有继承它的class可以使用(extends);static 表示静态属性可以直接访问,如Anima.name; static write() { console.log("写") } speak() { console.log("我说"); } instance(b) { console.log(b instanceof Anima); } } var anima = new Anima(); // console.log(anima.name); // Anima.write(); class a extends Anima { constructor() { super(); console.log(this.name, 12342); } } // console.log(anima.instance(a)) 4、数组与元组 1、数组 let a:number[]=[1432]; //number 可以为其他类型,这种写法,代表内部只能有一种数据类型 2、元组 let a:[string,number]=['a',123]; //顺序不能返,不能少 注释: 1、引用类型的引用地址放在栈区、值放在堆区 2、let a: (a: number, b: string, c: number) => string = test;值的是ts里的函数类型,不是es6的定义 |
请发表评论