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 ...
随机推荐
- Java 实现栈,队列
package base.structure; /** * @program: Algorithm4J * @description: 实现一个Stack * @author: Mr.Dai * @c ...
- 老男孩python作业9-简单的商城页面布局
利用HTML相关知识编写下面的网页: 核心代码如下: <!DOCTYPE html> <html lang="en"> <head> <m ...
- 江西财经大学第一届程序设计竞赛 H
链接:https://www.nowcoder.com/acm/contest/115/H来源:牛客网 题目描述 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活. 他总是能从所 ...
- Go语言基础之16--Mysql基本操作
一.Mysql驱动及数据库连接 1.1 Golang中的Mysql驱动 A. https://github.com/go-sql-driver/mysql B. Go本身不提供具体数据库驱动,只提供驱 ...
- 签名:实现参数字典排序,然后拼接为url参数形式
在很多地方请求参数需要做处理例如: 步骤 1.参数字典排序. 2.拼接字符. /// <summary> /// 生成签名 /// </summary> /// <par ...
- Install ElasticSearch plugin for head
git clone git://github.com/mobz/elasticsearch-head.git yum install git npm cd elasticsearch-head npm ...
- Day04 流程控制 while 和for循环
一.流程控制 if 判断 python中使用缩进来区分代码块的 语法 一: #python if 条件: 代码块1 代码块2 自上而下依次运行 语法二: # python if 条件一: 代码一 el ...
- 下载,安装oracle数据库以及navicat连接数据库
一.学习时所遇问题: 1.在下载之前以为oracle不是免费的,但是后来才知道oracle对于个人学习时是免费的,可以到官网下载安装.在下载时由于要注册oracle官网,所以尝试了好几遍,才成功下载o ...
- 转 sql profile 绑定 litera and move profile to another db l for spa
SQL TYPE 1:for bind value sql , first create a good plan with literal and with good profile. then u ...
- vue环境搭建(一)
1.Vue依赖node npm命令执行,需要下载node 下载地址 2.安装全局vue-cli脚手架(搭建环境所需要模板), window+ r 打开命令工具,输入cmd ,这时显示命令行工具,输 ...