TypeScript

typescript新特性

  1. 字符串新特性
  • 字符串拼接
    TypeScriptTypeScript
  • 字符串模板:在多行字符串用表达式插入变量或者调用方法,直接使用{变量名}、{调用方法}
    只有在撇号中间才可以,双引号内不可以
    TypeScript
    结果:
    TypeScript
  • 自动拆分字符串 :调用模板字符串test.... .
    注意:第一个参数是``撇号里面自己输入的字符串,分割成数组
    第二个参数开始是${}里面传入的字符串和调用的方法,一定要对应参数的个数。不然会报错;
    TypeScript
    TypeScript
  1. 参数新特性
  • 参数指定类型:参数后面使用:加上参数的类型
    指定类型的参数赋值其它类型的值时会报错
    初始定义一个变量并赋值之后:var abc = “abc”; //此时typescript会把abc变量默认为参数类型是srting类型,然后进行赋值number类型会报错。
    TypeScript
    TypeScript
  • 默认参数:一般指的是函数的参数带默认值
    TypeScript
    TypeScript
  • 可选参数:通过?来表示可选参数 因为普通的带参数的函数,在调用的时候有几个形参就必须传递几个实参;
    注意的是:传递可选参数的话,需要考虑如果没有传递这个参数的时候的处理情况,
    注意2:可选参数与带默认值的参数一样,需要定义在必选参数的后面。不可以放在前面。
  1. 函数新特性
  • 三点运算符的参数 reset and Spread运算符,可以传递任意数量的参数【reset】
    TypeScript
    反过来的用法是ES6的用法:【spread】typescript不支持
    TypeScript
    输出结果
    TypeScript
  • generator函数:控制函数的执行过程,手工暂停和恢复代码执行
    TypeScript
    TypeScript
    //例子
    TypeScript
    TypeScript
  • 析构表达式:通过表达式将对象或数组拆解为任意数量的变量
    var {name1,name1} = 函数; //从函数取值
    TypeScript
    var [name1,name2] = arr; //从数组中取值
    TypeScript
  1. 表达式与循环
  • 箭头表达式:解决匿名函数的this指向问题
    TypeScript
    TypeScript

  • forEach()和for in/for of
    forEach()://不可以循环输出属性值;2、不可以在满足某一条件时跳出循环(break)
    for in :输出数组的index,和添加的属性值
    for of :输出数组的值,但是可以break;
    TypeScript

  1. typescript面向对象特性

  • TypeScript
    constructor:构造函数,继承的构造函数一定要使用super;

  • 泛型:参数化的类型,一般来限制集合的内容
    注意,woman[3]页面输出没有报错是因为转化为javascript所以不报错,但是typescript编译器会报错。
    TypeScript

  • 接口(interface):建立某种代码约定
    TypeScript
    TypeScript

  • 模块:export :向外暴露 import 引入变量对象等等
    TypeScript
    TypeScript

  • 注解:

  • 类型定义文件:如何在typescript中运用框架,比如使用jquery
    在github里面引入一个文件 index.d.tx