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声明的);
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)的更多相关文章
- ES6相关特性(解构赋值)
解构赋值:本质上是一种匹配模式,等号两边的模式相同,则左边的变量可以被赋予对应的值. 注意:null & undefined 不能解构赋值!!! 数组的解构赋值: let [a,[[b],c] ...
- ES6相关新特性介绍
你可能已经听说过 ECMAScript 6 (简称 ES6)了.ES6 是 Javascript 的下一个版本,它有很多很棒的新特性.这些特性复杂程度各不相同,但对于简单的脚本和复杂的应用都很有用.在 ...
- 你不知道的JavaScript--Item24 ES6新特性概览
ES6新特性概览 本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代 ...
- 34.js----JS 开发者必须知道的十个 ES6 新特性
JS 开发者必须知道的十个 ES6 新特性 这是为忙碌的开发者准备的ES6中最棒的十个特性(无特定顺序): 默认参数 模版表达式 多行字符串 拆包表达式 改进的对象表达式 箭头函数 =&> ...
- ES6 新特性
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- ES6新特性概览
本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony( ...
- Atitit js版本es5 es6新特性
Atitit js版本es5 es6新特性 Es5( es5 其实就是adobe action script的标准化)1 es6新特性1 Es5( es5 其实就是adobe action scrip ...
- ES6新特性简介
ES6新特性简介 环境安装 npm install -g babel npm install -g babel-node //提供基于node的REPL环境 //创建 .babelrc 文件 {&qu ...
- 必须掌握的ES6新特性
ES6(ECMAScript2015)的出现,让前端开发者收到一份惊喜,它简洁的新语法.强大的新特性,带给我们更便捷和顺畅的编码体验,赞! 以下是ES6排名前十的最佳特性列表(排名不分先后): 1.D ...
随机推荐
- H5切换至后台页面
先说重点,试了很多种方法,这个真实有效 var reLoadLeftTime = false ;//监听浏览器当前页面是否被激活的事件var hiddenProperty = 'hidden' in ...
- js 的 一些操作。。。
// 对错误图片进行处理 $("img").error(function() { $(this).attr("src", "http://127.0. ...
- 如何从GAC中复制DLL文件
运行执行:c:\Windows\assembly\gac_msil
- 找到一篇关于 Oracle 全文检索实践 的文章
http://www.iteye.com/topic/1118055 有详细的例子记录了Oracle 全文检索的使用.
- 关于web安全需要在编程时注意的
公司用绿盟科技的远程安全评估系统扫描了项目,发现一些安全隐患,记录下来,以规避以后编程或者发布时犯同样的错误. 1. 目标web应用表单存在口令猜测攻击 风险:登录密码易被暴力破解,暴力破解是一种常见 ...
- Sqlite和mysql的区别及优缺点
小型嵌入式,跟mysql差不多,但更小,功能也少,属于本地数据库多用于读多写少,100W以下的数据压力不大,不支持分布式. 真正开源的小型嵌入式数据库,支持事务.触发器器 性能至少优于mysql ...
- 内置函数_eval
eval功能:将字符串str当成有效的表达式来求值并返回计算结果. 语法: eval(source[, globals[, locals]]) -> value 参数说明: expression ...
- 4.centos7 docker 安装
参考这个文档进行安装docker: http://www.runoob.com/docker/centos-docker-install.html 开机启动 systemctl enable dock ...
- C#中Internal关键字的总结
https://blog.csdn.net/baidu_32134295/article/details/51285603 版权声明:本文为博主原创文章,未经博主允许不得转载. https:/ ...
- 2.1 Rust概念
标识符 The first character is a letter.The remaining characters are alphanumeric or _.或The first charac ...