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} `

posted @ 2019-05-07 14:45  倒带_with  阅读(533)  评论(0编辑  收藏  举报