美文网首页
TS 函数新特性

TS 函数新特性

作者: __凌 | 来源:发表于2017-10-24 19:36 被阅读0次

# 1:rest and spread操作符 --- ...args


No 1 : 用来声明任意数量的方法参数

function test(...args) {

args.forEach(function (arg) {

console.log(arg)

})

};

test(1, 2, 3, 4);

//打印1,2,3,4

转JS:

function test() {

var args = [];

for (var _i = 0; _i < arguments.length; _i++) {

args[_i] = arguments[_i];

}

args.forEach(function (arg) {

console.log(arg);

});

};

test(1, 2, 3, 4);

No 2:也可以对声明了固定数量参数的函数进行参数数量不等的调用

function test(a,b,c) {

console.log(a);

console.log(b);

console.log(c);

};

var arr = [1, 2];

test(...arr);//打印1,2,undefined

var arr2 = [1, 2, 3, 4, 5, 6];

test(...arr2);//只识别前三个参数,打印1,2,3


# 2:generator函数


No 1:控制函数的执行过程

No 2:通过function*声明一个generator函数在函数中添加yield和next()可对其进行打断和分布执行操作

function* test(){

console.log("start");

yield;

console.log("finish");

}

var fun1 = test();   //须将函数声明为变量使用此方法

fun1.next();

fun1.next();

每个.next()执行yield分割的一段代码,第一个fun1.next();执行至yield之前停止打印出"start",第二个fun1.next()执行之后的代码,打印出"finish"


# 3:destructuring 析构表达式


No 1:通过表达式将对象或数组拆解成任意数量的变量

function fun() {

    return {

        title:"xxj",

        total:36

   }

}

var { title , total } =fun(); //变量名与函数中的属性名对应相同

var { title :name , total } =fun(); // 或者起个别名

console.log(title);

console.log(name);

这句话等价于  如下:

var aa =fun();

var title = aa.title;

var total = aa.total;

No 2:析构表达式的嵌套  --- 从对象拆值

function fun() {

   return {

       title:"xxj",

        total:{

              total1:25,

              total2:57

       }

   }

}

var { title , total:{ total2 } } =fun();

console.log(total2);

No 3:析构表达式的嵌套  --- 从数组拆值

var arr = [1,2,3,4];

var [num1,num2]=arr;

console.log(num1,num2);    //1 2

var [,,num3,num4]=arr;

console.log(num3,num4);     //3 4 用逗号空出对应位置即可跳跃取值

var [num5,,num6]=arr;

console.log(num5,num6);    //1 3

var [num7,...others]=arr;

console.log(num7,others);  //1 [2,3,4] *此时将剩余的三个数打包放进others中

相关文章

  • TS 函数新特性

    # 1:rest and spread操作符 --- ...args No 1 : 用来声明任意数量的方法参数 f...

  • 【一起来烧脑】一步学会TypeScript入门

    字符串新特性变量和参数新特性函数新特性匿名函数for of循环TypeScript语言中的面向对象特性 理解ES5...

  • 复习:ES6~ES12的一些新特性归纳(ES6)

    ES6相关的新特性(2015) 类class: 新建一个js/ts文件,可以在这个Class中的构造函数进行初始化...

  • 6个 TS新特性

    在构造函数中直接定义属性 Typescript 中可以通过构造函数的参数直接定义属性,我们来先看早期的做法: 采用...

  • 函数新特性

    ES6函数作为对象方法的简写方式:

  • 函数新特性

    传多个参数的函数1、Rest and Spread 操作符:用来声明任意数量的方法参数 2、generator 函...

  • ES6在企业中的应用

    模板字符串 解构赋值解构赋值最常用的在于函数。 数组spread es6浅拷贝 函数新特性之箭头函数 函数新特性之...

  • typeScript学习02

    typescript中的函数 ts中函数定义 ts中函数的传参 ts中的函数的可选参数(js中函数的形参和实参可以...

  • MySQL8.0新特性-窗口函数

    MySQL8.0新特性-窗口函数

  • TS 字符串新特性

    No 1:声明多行字符串: ` 这里面支持换行 ` No 2:字符串模板 : `I am ${变量名}` ,...

网友评论

      本文标题:TS 函数新特性

      本文链接:https://www.haomeiwen.com/subject/hjsxpxtx.html