zoukankan      html  css  js  c++  java
  • ES6(简单了解)

    1、import类似于var,不过是定义对外接口的,接受外部的文件。

            import  xx  from  xx ,有点像var i =3;

            如import  profile  from './profile';

    2、export default 就是输出一个叫做default的变量或方法,然后系统允许你为它取任意名字。(es6中导入使用import,导出使用export)

    3、let 声明的变量  只在let命令所在的代码块内有效。

      所以let变量 一般用于for循环,避免循环变量泄露为全局变量  https://blog.csdn.net/yu452148611/article/details/53897361

    4、模板字符串  : 用 ` `来表示,与es5,字符串相比,多了,解析空格、和变量(插值)的能力、

    5、Number全局对象   :  ES6将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变。

    6、函数变化  :   ES6允许为函数的参数设置默认值,即直接写在参数定义的后面。

    function log(x, y = 'World') {
      console.log(x, y);
    }
    
    log('Hello') // Hello World
    log('Hello', 'China') // Hello China
    log('Hello', '') // Hello

    7、箭头函数:

    var f = () => 5;
    // 等同于
    var f = function () { return 5 };
    
    var sum = (num1, num2) => num1 + num2;
    // 等同于
    var sum = function(num1, num2) {
      return num1 + num2;
    };
    
    const full = ({ first, last }) => first + ' ' + last;
    
    // 等同于
    function full(person) {
      return person.first + ' ' + person.last;
    }
    View Code

     总结:(个人观点)  箭头函数是特殊的匿名函数,和前面的 = 号没关系(=号只是赋值),箭头前面是形参,后面是返回值。

        箭头函数里面没有 this对象,所以在里面出现 this,那使用的就是上一层作用域链的 this对象。(类似变量的作用域链)

        函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

          https://www.cnblogs.com/lianjq/p/6527039.html  

    8、对象 :

      1、 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁

    var birth = '2000/01/01';
    
    var Person = {
    
      name: '张三',
    
      //等同于birth: birth
      birth,
    
      // 等同于hello: function ()...
      hello() { console.log('我的名字是', this.name); }
    
    };
    View Code

      2、属性名表达式,ES6 允许字面量定义对象时,用方法二(表达式)作为对象的属性名,即把表达式放在方括号内。

    (个人)相当于属性名也可以动态生成了

    1 let propKey = 'foo';
    2 
    3 let obj = {
    4   [propKey]: true,
    5   ['a' + 'bc']: 123
    6 };

    9、rest 参数  :   https://www.cnblogs.com/garfieldzhong/p/8056692.html

       es5中,函数声明的时候不设 形参(或不知道需要参数不定的时候),调用时有实参  且 函数里面用到传递过来的参数。函数里获取传递过来的参数需要使用 arguments这个

      类数组对象表示对应的实参。

      使用 rest 参数 就可以不用 arguments 数组对象,可以使用自定义的数组对象。(这样就解决了箭头函数中没有arguments 数组对象,而需要这个功能的问题)

    // arguments变量的写法
    function sortNumbers() {
        return Array.prototype.slice.call(arguments).sort()
    }
    
    // rest参数的写法
    const sortNumbers = (...numbers) => numbers.sort(

    10、扩展运算符 : 扩展运算符(spread)是三个点(…)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。

          https://blog.csdn.net/yu452148611/article/details/53897361

    function push(array, ...items) {
      array.push(...items);
    }
    
    function add(x, y) {
      return x + y;
    }
    
    var numbers = [4, 38];
    add(...numbers) // 42

     

     

    11、变量的解构赋值 (以后再深入了解,不常用)

    12、map 函数:  js 数组 map方法 参考链接

      map函数的作用可以看做是简化forEach方法遍历数组的功能。


    ES7+ES8   参考:https://www.jianshu.com/p/13c5d002478b

  • 相关阅读:
    poj 3666 Making the Grade
    poj 3186 Treats for the Cows (区间dp)
    hdu 1074 Doing Homework(状压)
    CodeForces 489C Given Length and Sum of Digits...
    CodeForces 163A Substring and Subsequence
    CodeForces 366C Dima and Salad
    CodeForces 180C Letter
    CodeForces
    hdu 2859 Phalanx
    socket接收大数据流
  • 原文地址:https://www.cnblogs.com/wfblog/p/8631263.html
Copyright © 2011-2022 走看看