ECMAScript6新特性之let、const】的更多相关文章

第一次在博客园写博客,想把自己每一天学习到的知识点记录下来,心里有点紧张(PS:不知道自己能不能写好......嘿嘿).言归正传,咱们先来说说"ECMAScript"这到底是啥玩意儿?它和javascript的关系又是如何的?首先,在1996年11月的时候,javascript的创造者(网景公司Netscape)和sun公司联合ECMA(欧洲计算机制造商协会)对javascript进行标准化,次年,ECMA发布262号标准文件文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准…
ECMAScript 简介 简称es,是一套标准,javascript就是使用这套标准的语言.主流的浏览器使用的是ECAMScript5,ECAMScript6(ECAMScript2015)是一涛新的标准,添加了新的特性.借助bable和jspm可以使用它的新特性. 1.块的作用域 作用域,即变量有效的范围(声明的变量在什么地方可以使用).之前js只有全局作用域和函数作用域,es6中有了块级作用域. 只能在块中访问. 2.恒量(常量) const声明恒量,声明的恒量不能被分配新的值. 不能重新…
ECMAScript 简介 简称es,是一套标准,javascript就是使用这套标准的语言.主流的浏览器使用的是ECAMScript5,ECAMScript6(ECAMScript2015)是一涛新的标准,添加了新的特性.借助bable和jspm可以使用它的新特性. 1.块的作用域 作用域,即变量有效的范围(声明的变量在什么地方可以使用).之前js只有全局作用域和函数作用域,es6中有了块级作用域. 只能在块中访问. 另外var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为unde…
ES6新特性 一.变量 var:重复定义不报错:没有块级作用域:不能限制修改 let:变量,不能重复定义,有块级作用域 const:常量,不能重复定义,有块级作用域 二.函数/参数 箭头函数——简写: 1.只有一个参数,()可以省 2.只有一个语句,还是return,{}可以省 参数扩展——剩余参数 数组展开 三.模块化 1.sea.js.require.js 规范:CMD .AMD(区别是什么) seajs作用:按需引用,解决依赖 // 定义模块 define(function(require…
新特性概览 参考文章:http://www.cnblogs.com/Wayou/p/es6_new_features.html 这位前辈写的很好,建议深入学习 ———————————————————————————————————————————— let命令 let命令用来声明变量,用法类似于var,但仅仅可以使用在定义的代码块中 不存在变量提升 暂时性死区:只要块级作用域内存在let命令,它所声明的变量就"绑定"binding这个区域,不再受外部影响 不允许重复声明:let不允许在…
一.let命令是es6新增的特性,作用与var命令类似,声明变量,不同之处在于声明的变量的作用域为块级作用域.引入let后带来了很多新的特性. 1作用域,es5之前之后函数作用域和全局作用域,let的引入带来了块级作用域,块级作用于会带来很多新的改变. 2一个需要了解的是“暂时性死区”,比如在全局变量tmp,但是块级作用域内let又声明了一个局部变量tmp,导致后者绑定这个块级作用域,所以在let声明变量前,对tmp赋值会报错. 3ES5 规定,函数只能在顶层作用域和函数作用域之中声明,“{}”…
在以前,我们要对变量赋值,只能直接指定值.比如:var a = 1;var b = 2;但是发现这种写法写起来有点麻烦,一点都不简洁,而在ECMAScript6中引入了一种新的概念,那就是"解构",这种赋值语句极为简洁,比传统的属性访问方法更为清晰.那什么是解构呢?按照一定的模式,允许从数组或者对象中获取到值,并且对其变量进行赋值.称为"解构". 看到上图了吧,解构是不是很简洁.其实解构不单用于数组.对象,只要内部具有iterator接口,就都可以使用解构来给变量赋…
1.对象属性名 es5中我们为一个对象添加属性可以用如下代码: let foods = {}; foods.dessert = '蛋糕'; console.log(foods) 但是属性名中间有空格则不能用点的形式添加,es6中的属性名可以有空格: let foods = {}; foods.dessert = '蛋糕'; foods['hot drink'] = '可乐' console.log(foods) 方括号中还可以用变量的形式引入: let foods = {}, drink = '…
一 填充数组 var arr = new Array(5); arr.fill('abc',2,4); console.log('Array.prototype.fill',arr); // [undefined × 2, "abc", "abc", undefined × 1] 二 映射到新数组 // 映射稀疏数组 var arr = new Array(5); arr[0] = 1; arr[2] = 3; arr[4] = 5; var newArr = ar…
一 Reflect.ownKeys()获取对象属性. 可枚举的.不可枚举的.自有的.继承的. let fruit = { '2' : 'mango', [Symbol.for('pink')] : 'peach', 'red' : 'apple', 'yellow' : 'banana', [Symbol.for('purple')] : 'grape', '1' : 'Litchi' }; console.log('Reflect.ownKeys',Reflect.ownKeys(fruit)…