zoukankan      html  css  js  c++  java
  • TypeScript入门知识三(函数新特性)

    一,Rest and Spread操作符:

      用来声明任意数量的方法参数也就是“...”操作符

    输出结果:

      18

      jajj

      89

      function test (a, b, c) {

        console.log(a);

        console.log(b);

        console.log(c);

      }

      var agrs = [1, 2];
      test(...agrs);

      输出结果:

      1

      2

      undefind

      var agrs = [4,5,6,7,8,9];

      test(...agrs);

      输出结果:

      4

      5

      6

      根据定义的参数取传入的参数

    二,generator函数;

      控制函数的执行过程,手工暂停和恢复代码执行

      在TypeScript的编辑器中不支持这个语法,需要在babeljs的编辑器中联系(http://babeljs.cn)

      function* doSomething () {

        console.log("start");

        yield;

        console.log("end");

      }

      //调用generator函数,必须赋值给一个变量

      var func1 = doSomething();

      //通过next()来调用

      func1.next();

      func1.next();

    三.destructuring析构表达式

      通过表达式将对象或者数组拆解成任意数量的变量。

      function getStock() {
        return{
        code: "IBM",
        price:100
        }
      }
      var { code, price } = getStock(); //但是变量的命名和字段必须一样

      var {code: codeX,  price} = getStock;//当你定义的变量与对象的变量不一样时

      console.log(code);
      console.log(price);

      输出结果:

      “IBM”

      100

      当对象中的字段是一个对象

      function getStock() {
        return{
        code: "IBM",
        price:{

           price1: 100,

           price2:  120

          }

        }
      }

      var { code,price:{price2}} = getStock();

      数组用析构表达式 

      var array1 = [1, 2, 3];
      var [ , num1, num2] = array1;
      console.log(num1);
      console.log(num2);

      输出结果:

      2

      3

      var array1 = [1, 2, 3];
      function doSomething([num1,num2,...others]) {
        console.log(num1);
        console.log(num2);
        console.log(others);
      }
      doSomething(array1);

      输出结果:

      1

      2

      [3]

      有点主要是根据对象或者数组初始化一些变量,可以写更少的代码;

      

      

      

      

    每一步都是一个深刻的脚印
  • 相关阅读:
    jquery判断元素是否可见隐藏
    jQuery的replaceWith()函数用法详解
    前端工作面试问题
    Windows下安装sass和compass失败的解决办法
    马尾图案之canvas的translate、scale、rotate的方法详解
    boost bimap
    boost multi index
    boost regex expression
    boost format
    boost lexical_cast
  • 原文地址:https://www.cnblogs.com/chzlh/p/7512744.html
Copyright © 2011-2022 走看看