TypeScript学习
一、基础概念
1、TypeScript是什么?
答:是JavaScript的超集。
2、TypeScript用来干什么?
答:跟js一样,只是比js好。
3、为什么要用他?即特点、优点
答:最重要的两点,(1)angular2框架就是用typescript编写的框架。(2)符合ES6规范(ES6是未来的js开发标准)(3)在开发阶段十分便利(强大的IDE语法提示、类型检查功能)
二、知识点摘选
1、typescript字符串新特性。
用双撇号 `` 代替单引号 ' '、双引号 " "。新特性能①随意换行不用+号串联。②拼接html代码极其方便、可读性高。③可插入变量、方法。如变量${name}
2、析构表达式
(1)十分强大的特性!简化了操作和代码。
(2)通过表达式将对象或者数组拆解成任意数量的变量。
(3)代码:注意①设置的变量要和所调取的对象或者数组变量名一致,如果想用自己的变量名可以这样写 let { age:myAge, adree:userAdree, userName:name } = data;
let data = { userName: 'xiao li', age: '18', adree:'guangzhou' } let { age, adree, userName } = data;
析构表达式和常规书写对比,可以看出代码十分简化。
3、箭头表达式
(1)函数里面为单行代码时,可以省去大括号和关键字return。多行则不行。
//传统匿名表达式 var myFun=function(){ return true } //箭头表达式 var myFun=()=>true; //或者 var myFun=(item)=>{ var num=item+1; retrun num }
(2)箭头函数的意义一个是简化代码,最重要的是:解决了常规函数里this指向不明的问题。(上面函数找不到this.name,下面函数正常)
4、循环表达式forEach()、for in和for of
(1)forEach()不能在执行过程中跳出循环。即不能用break
(2)for in。输出数组或者对象的下标、键
//循环数组的时候,key是数组的下标 var myArray=['jem','sam','tony']; for(var key in myArray){ console.log(key) console.log(myArray[key]) } //0 1 2 //jem sam tony //循环对象的时候,key是对象的键 var myObj={ name:'tony', age:18, sex:'m' } for(var key in myObj){ console.log(key) console.log(myObj[key]) } //name age sex //tony 18 m
(3)for of。他可以①循环多种类型(arr、string等等)②可以跳出循环。③但是不能遍历对象类型!
//跳出循环,注意:item是数组的值 var myArr=[1,2,3,4] for(var item of myArr){ if(item>2) break; console.log(item) } //1 2 //循环字符串 var myArr='name' for(var item of myArr){ console.log(item) } //n //a //m //e
5、面向对象特性:https://www.imooc.com/video/13536/0
(1)extends。说明类的继承关系。class child extends Parent { } 前者继承后者类的属性和方法等。后者可以称作前者的父类。同时,子类因为继承了父类,所以使用方法也要遵循父类使用方法。比如参数的设置、构造函数。
(2)super。两个作用。①调取父类的构造函数。②调取父类的函数。
注意:①super是在子类内部使用。②既然继承了父类,为什么不用this调用父类方法属性呢?因为子类背身可能出现同名方法属性。这样super.eat()和this.eat()就指向了不同类里的方法。
三、零散知识点
1、模板字符串属于string类型。let myName:string=` my name is ${name} `