zoukankan      html  css  js  c++  java
  • ES6相关特性(let & const)

    【ecma-262/8.0】http://www.ecma-international.org/ecma-262/8.0/index.html

    1、Let & const

    let 的三个特性:a、只在块级作用域内有效;b、预解析时声明的变量不会提升(暂时性死区);c、同一作用域内禁止声明已经存在的变量(可能通过var声明的);

    1 for (let i = 0; i < 3; i++) {
    2        let i=10;
    3        console.log(i); // 3个10
    4 };
    5 
    6 console.log(i) // i is not defined    

    小节:在for循环中,方括号里面的循环语句之内是一个父作用域,花括号里面的循环体内是一个子作用域,let只在for循环的一个块级作用域中有效。

    const :拥有和let同样的的三个特性,此外,const 还具有如下的特性,a、声明的时候必须赋值;b、声明的常量如果是基本类型,则不可以改变。如果是一个对象,则只要引用不改变,对象内的数值可以变化。

    const obj={'value':10};
    obj.value=20;
    console.log(obj)  //Object {value: 20}
    
    const base='10';
    base='20';
    console.log(base);//Assignment to constant variable.

    2、箭头函数 (三个关注点:返回值,this,无arguments)

    var a=() =>{}    console.log(a); // undefined
    ------------------------------------------------------------------
    var a=() =>({}) console.log(a); // object{}
    ------------------------------------------------------------------
    var a=() =>{ return 3 } console.log(a); // 3
    let b={
        name:'aaa'
    };
    b.a=function(){
        let a=() =>{
            return this;
        }
        return a();
    }
    console.log(b.a()) // Object {name: "aaa", a: function}
    ------------------------------------------------------------------
    let b={
        name:'aaa'
    };
    b.a=function(){
        let a=function(){
            return this;
        }
        return a();
    }
    console.log(b.a()) // Window{.....}
  • 相关阅读:
    极光推送 标签和别名设置说明
    极光推送集成遇到的坑
    iOS开发:创建推送开发证书和生产证书,以及往极光推送官网上传证书的步骤方法
    【大数据算法】蓄水池抽样算法
    【leetcode】Find Minimum in Rotated Sorted Array I&&II
    朴素贝叶斯算法的实例
    【leetcode】Min Stack -- python版
    朴素贝叶斯算法的python实现
    决策树的python实现
    kNN算法python实现和简单数字识别
  • 原文地址:https://www.cnblogs.com/happyhaibei/p/6937550.html
Copyright © 2011-2022 走看看