ES6
文章平均质量分 67
筱葭
这个作者很懒,什么都没留下…
展开
-
浅谈ES6 const命令
ES5只有两种声明变量的方式:var和function,ES6还添加了两种常用的声明变量的方式:let和const,let的介绍请见:下面介绍ES6的const命令:const声明一个只读的常量,一旦声明,常量的值就不能改变,这意味着,const一旦声明常量,就必须立即初始化,不能等到之后再赋值。因此,改变常量和只声明不赋初始值都会报错。const的作用域与let命令相同,只在声明所在原创 2017-03-30 11:29:14 · 5332 阅读 · 1 评论 -
浅谈ES6的let和const的异同点
1、let和const的相同点:① 只在声明所在的块级作用域内有效。② 不提升,同时存在暂时性死区,只能在声明的位置后面使用。③ 不可重复声明。2、let和const的不同点:① let声明的变量可以改变,值和类型都可以改变;const声明的常量不可以改变,这意味着,const一旦声明,就必须立即初始化,不能以后再赋值。const i ; // 报错,一旦声明,就必须立即初原创 2017-05-07 19:41:27 · 14211 阅读 · 0 评论 -
浅谈ES6 let命令
ES6新增了let命令,用来声明变量,它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。1、for循环的计数器,就很合适使用let。var a = [];for (var i = 0; i a[i] = function() {console.log(i);}}a[6](); // 10变量i是var声明的,在全局范围内有效,所以每次循环原创 2017-03-29 17:37:49 · 996 阅读 · 0 评论 -
浅谈ES6箭头函数
ES6标准新增了一种新的函数:Arrow Function(箭头函数)箭头函数相当于匿名函数,且简化了函数定义。 1、箭头函数有两种格式:① 只包含一个表达式,{ ... }和return都省略掉。i => i * i② 可以包含多条语句,不能省略{ ... }和return。 x => { if (x > 0) return x * x;原创 2017-04-16 11:46:47 · 510 阅读 · 0 评论 -
浅谈ES6新增类型Symbol
1、Symbol概述JavaScript基本数据类型有6种:Undefined、Null、Boolean、String、Number、Object。ES6新增了一种数据类型:Symbol,表示独一无二的值,Symbol最大的用途是用来定义对象的唯一属性名。ES5的对象属性名都是字符串,容易造成属性名的冲突。如使用了一个其他人提供的对象,但又想为其添加新的方法(mixin模式),那么新方原创 2017-04-27 14:51:48 · 4173 阅读 · 0 评论 -
浅谈ES6 块级作用域
1、为什么需要块级作用域ES5只有全局作用域和函数作用域,没有块级作用域,会带来以下问题:1) 变量提升导致内层变量可能会覆盖外层变量;var i = 5;function func() { console.log(i); if (true) { var i = 6; }}func(); // undefined2) 用来计数的循环变量泄露为全局变量for (v原创 2017-03-30 11:07:41 · 7261 阅读 · 2 评论 -
浅谈ES6 class实现React Class
使用ES6 class可以以一个JavaScript类来定义React Class。 1、使用React.createClass:var Counter = React.createClass({ propTypes: { initial: React.PropTypes.number }, getDefaultProps: function() { return原创 2017-04-27 17:00:17 · 4011 阅读 · 1 评论 -
浅谈ES6 全局变量和全局对象的属性
全局对象是最顶层的对象,在浏览器环境指的是window对象,在Node.js指的是global对象。在ES5中,全局对象的属性与全局变量是等价的,也就是说,全局对象的属性赋值与全局变量的赋值是等价的。window.i = 5;alert(a); // 5i = 10;alert(window.i); // 10未声明的全局变量,自动成为全局对象window的属性,这会带来问题:无原创 2017-03-30 11:50:09 · 15444 阅读 · 1 评论 -
浅谈ES6 Promise对象
Promise是一个对象,用来传递异步操作的消息。它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的 API,可供进一步处理。有了 Promise 对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise 对象提供统一的接口,使得控制异步操作更加容易。Promise是一个构造函数,Promise new出来的对象有reje原创 2017-04-15 21:13:41 · 693 阅读 · 0 评论