zoukankan      html  css  js  c++  java
  • ES6特性的两点分析

    块级作用域声明let、const
    ES6中const 和let的功能,转换为ES5之后,我们会发现实质就是在块级作用改变一下变量名,使之与外层不同。
    ES6转换前:

    let a1 = 1;
    let a2 = 6;
    {
      let a1 = 2;
      let a2 = 5;
    {
      let a1 = 4;
      let a2 = 5;
    }
    }
    a1 = 3;

    转换ES5后:

    let a1 = 1;
    let a2 = 6;
    {
      let a1 = 2;
      let a2 = 5;
    {
      let a1 = 4;
      let a2 = 5;
    }
    }
    a1 = 3;

    箭头函数
    箭头函数其实主要是省了写函数的代码,同时能够直接用使外层的this而不用担心context切换的问题。以前我们一般都要在外层多写一个_this/self直向this。其实转换为ES5也是利用这种方法实现的。
    ES6转换前:

    var obj = {
      prop: 1,
      func: function() {
        var _this = this;
        var innerFunc = () => {
        this.prop = 1;
      };
      var innerFunc1 = function() {
        this.prop = 1;
      };
    };

    转换ES5后:

    var obj = {
      prop: 1,
      func: function func() {
        var _this2 = this;
        var _this = this;
        var innerFunc = function innerFunc() {
          _this2.prop = 1;
      };
    var innerFunc1 = function innerFunc1() {
      this.prop = 1;
    };
    };
  • 相关阅读:
    sping AOP核心思想及实现原理
    springmvc RequestMappingHandlerMapping初始化详解
    springmvc RequestMappingHandlerAdapter初始化详解
    POJ 3169 Layout
    POJ 3264
    POJ 3461 Oulipo
    二分图判定 POJ-2492
    最小生成树 prim算法
    初级BFS
    哈夫曼建树
  • 原文地址:https://www.cnblogs.com/littlewriter/p/7678987.html
Copyright © 2011-2022 走看看