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

1、Let & const

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

 for (let i = 0; i < 3; i++) {
let i=10;
console.log(i); // 3个10
}; 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 } console.log(a); //
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{.....}

ES6相关特性(let & const)的更多相关文章

  1. ES6相关特性(解构赋值)

    解构赋值:本质上是一种匹配模式,等号两边的模式相同,则左边的变量可以被赋予对应的值. 注意:null & undefined 不能解构赋值!!! 数组的解构赋值: let [a,[[b],c] ...

  2. ES6相关新特性介绍

    你可能已经听说过 ECMAScript 6 (简称 ES6)了.ES6 是 Javascript 的下一个版本,它有很多很棒的新特性.这些特性复杂程度各不相同,但对于简单的脚本和复杂的应用都很有用.在 ...

  3. 你不知道的JavaScript--Item24 ES6新特性概览

    ES6新特性概览 本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代 ...

  4. 34.js----JS 开发者必须知道的十个 ES6 新特性

    JS 开发者必须知道的十个 ES6 新特性 这是为忙碌的开发者准备的ES6中最棒的十个特性(无特定顺序): 默认参数 模版表达式 多行字符串 拆包表达式 改进的对象表达式 箭头函数 =&> ...

  5. ES6 新特性

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  6. ES6新特性概览

    本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony( ...

  7. Atitit js版本es5 es6新特性

    Atitit js版本es5 es6新特性 Es5( es5 其实就是adobe action script的标准化)1 es6新特性1 Es5( es5 其实就是adobe action scrip ...

  8. ES6新特性简介

    ES6新特性简介 环境安装 npm install -g babel npm install -g babel-node //提供基于node的REPL环境 //创建 .babelrc 文件 {&qu ...

  9. 必须掌握的ES6新特性

    ES6(ECMAScript2015)的出现,让前端开发者收到一份惊喜,它简洁的新语法.强大的新特性,带给我们更便捷和顺畅的编码体验,赞! 以下是ES6排名前十的最佳特性列表(排名不分先后): 1.D ...

随机推荐

  1. 华东交通大学2015年ACM“双基”程序设计竞赛1004

    Problem D Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  2. php __CLASS__、get_class()与get_called_class()的区别

    __CLASS__获取当前的类名, get_class()与上面一样,都是获取当前的类名 get_called_class()获取当前主调类的类名 当涉及到继承时,在方法中使用类名.直接贴图了 MVC ...

  3. Tomcat-猫

    第1章 Tomcat简介 Tomcat  是一个web服务器 ,类似nginx,apache的http Nginx  http 只能处理html等静态文件jpg() 网页分为静态网页(以.html 或 ...

  4. Mock Server利器 - Moco

    Moco介绍Moco独立运行所需环境如何运行Moco启动http服务启动https服务Moco HTTPs API配置如何在配置文件添加注释约定请求Body约定接口的uri约定请求参数约定请求方法约定 ...

  5. 基于Visual Studio .NET2015的单元测试 OpenCover

    https://www.cnblogs.com/XiaoRuLiang/p/10095723.html 基于Visual Studio .NET2015的单元测试 1.    在Visual Stud ...

  6. java——斗地主小游戏之洗牌发牌

    遇到的问题: 1.int和Integer的区别? 1)Integer是int的包装类,int则是java的一种基本数据类型 . 2)Integer变量必须实例化后才能使用,而int变量不需要 . 3) ...

  7. 转——jdbcType与javaType的对应关系

    ------------------------------------------------ 原文:https://blog.csdn.net/haofeng82/article/details/ ...

  8. STM32中管脚利用

    如果利用4线SWD则剩余的调试引脚可以作为IO使用: void JTAG_Set(unsigned char Mode){ u32 temp; temp=Mode; temp<<=25; ...

  9. 【3dsMax安装失败,如何卸载、安装3dMax 2018?】

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  10. django中的Ajax文件上传

    主要介绍两个 1.ajax文件上传 2.写路由器 3.创建对应的函数 4.file_put.html代码 <!DOCTYPE html> <html lang="en&qu ...