ECMAScript6新特性及ES5对比整理

这里整理ES6新特性以及跟ES5的对比用法

1.const 常量定义

const URL="https://zhangxuefei.site";

定义的常量不能被直接赋值修改,但是如果a=URL,那么a的值是可以修改的,如果PI是一个引用类型,那么对a的修改也会影响到URL

ES5定义如下:

Object.defineProperty(typeof global==="object"?global:window,"URL",{
 value:"https://zhangxuefei.site",
 enumerable:true,
 writable:false, //不能赋值
 configurable:false //不能delete
 });

 URL=2;
 console.log(URL);//https://zhangxuefei.site

继续阅读“ECMAScript6新特性及ES5对比整理”

涉猎ECMAScript6(ES6/ES2015)Promise(异步流控制)

Promise不是用来取代回调的,而是管理回调函数,增强代码的可读性。另一种理解Promises是一个事件监听器,我们可以注册一个监听函数,在任务执行完时通知我。只是这些事件只触发一次。Promise能够把这些异步任务链接到一起,提供一套异步流控制的机制。Promise仅仅有两种可能的结果:满足或拒绝(fulfilled or rejected),只能被resolved(fulfilled or rejected)一次,一次执行完以后就不能再改变。 继续阅读“涉猎ECMAScript6(ES6/ES2015)Promise(异步流控制)”

涉猎ECMAScript6(ES6/ES2015)模块化

能够写js代码是一回事,能够有效的把代码组织好,改善代码的可读性和易理解就是另外一回事了。ES6提供了模块化的方式来书写代码。传统的代码模块化编写的方式基于闭包,外层函数通过内部的变量或对象返回内部的函数。像这样:

继续阅读“涉猎ECMAScript6(ES6/ES2015)模块化”

涉猎ECMAScript6(ES6/ES2015)语法

javascript的遵循的官方规范就是ECMAScript(ECMA欧洲计算机制造商协会),ES(简写)的版本基本上可以从2009年ES5开始,基本上web前端兴起时,我们的浏览器支持的标准就是ES5了。到2015年ES6发布,或者ES2015,也许后续的版本可能以年为单位(ES2016,ES2017等)目前来说,ES6在各个浏览器的支持不是很统一,所以如果我们使用ES6编写代码,为了兼容广泛的浏览器,可以使用工具把ES6的代码转换为ES5的版本。 继续阅读“涉猎ECMAScript6(ES6/ES2015)语法”