【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. H5切换至后台页面

    先说重点,试了很多种方法,这个真实有效 var reLoadLeftTime = false ;//监听浏览器当前页面是否被激活的事件var hiddenProperty = 'hidden' in ...

  2. js 的 一些操作。。。

    // 对错误图片进行处理 $("img").error(function() { $(this).attr("src", "http://127.0. ...

  3. 如何从GAC中复制DLL文件

    运行执行:c:\Windows\assembly\gac_msil

  4. 找到一篇关于 Oracle 全文检索实践 的文章

    http://www.iteye.com/topic/1118055 有详细的例子记录了Oracle 全文检索的使用.

  5. 关于web安全需要在编程时注意的

    公司用绿盟科技的远程安全评估系统扫描了项目,发现一些安全隐患,记录下来,以规避以后编程或者发布时犯同样的错误. 1. 目标web应用表单存在口令猜测攻击 风险:登录密码易被暴力破解,暴力破解是一种常见 ...

  6. Sqlite和mysql的区别及优缺点

    小型嵌入式,跟mysql差不多,但更小,功能也少,属于本地数据库多用于读多写少,100W以下的数据压力不大,不支持分布式.   真正开源的小型嵌入式数据库,支持事务.触发器器  性能至少优于mysql ...

  7. 内置函数_eval

    eval功能:将字符串str当成有效的表达式来求值并返回计算结果. 语法: eval(source[, globals[, locals]]) -> value 参数说明: expression ...

  8. 4.centos7 docker 安装

    参考这个文档进行安装docker: http://www.runoob.com/docker/centos-docker-install.html 开机启动 systemctl enable dock ...

  9. C#中Internal关键字的总结

    https://blog.csdn.net/baidu_32134295/article/details/51285603     版权声明:本文为博主原创文章,未经博主允许不得转载. https:/ ...

  10. 2.1 Rust概念

    标识符 The first character is a letter.The remaining characters are alphanumeric or _.或The first charac ...