
ECMAScript 6笔记(javascirpt的下一版)
daily886
这个作者很懒,什么都没留下…
展开
-
第三节,变量的解构赋值
变量的解构赋值数组的解构赋值对象的解构赋值字符串的解构赋值数值和布尔值的解构赋值函数参数的解构赋值圆括号问题用途数组的解构赋值基本用法ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。var a = 1;var b = 2;var c转载 2016-12-16 14:49:26 · 668 阅读 · 0 评论 -
第二十四节,参考链接
参考链接官方文件综合介绍let和const解构赋值字符串正则数值数组函数对象SymbolSet和MapProxy和ReflectPromise对象IteratorGenerator异步操作和Async函数ClassDecoratorModule二进制数组SIMD工具官方文件ECMAS转载 2016-12-16 15:37:57 · 395 阅读 · 0 评论 -
第五节,正则的扩展
正则的扩展RegExp构造函数字符串的正则方法u修饰符y 修饰符sticky属性flags属性RegExp.escape()s 修饰符:dotAll 模式后行断言Unicode属性类RegExp构造函数在ES5中,RegExp构造函数的参数有两种情况。第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag)转载 2016-12-16 14:53:25 · 440 阅读 · 0 评论 -
第四节,字符串的扩展
字符串的扩展字符的Unicode表示法codePointAt()String.fromCodePoint()字符串的遍历器接口at()normalize()includes(), startsWith(), endsWith()repeat()padStart(),padEnd()模板字符串实例:模板编译标签模板String.raw()转载 2016-12-16 14:52:04 · 293 阅读 · 0 评论 -
第八节,函数的扩展
函数的扩展函数参数的默认值rest参数扩展运算符严格模式name属性箭头函数绑定 this尾调用优化函数参数的尾逗号函数参数的默认值基本用法在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。function log(x, y) { y = y || 'World'; console.log(x, y);转载 2016-12-16 14:56:50 · 536 阅读 · 0 评论 -
第九节,对象的扩展
对象的扩展属性的简洁表示法属性名表达式方法的 name 属性Object.is()Object.assign()属性的可枚举性属性的遍历__proto__属性,Object.setPrototypeOf(),Object.getPrototypeOf()Object.keys(),Object.values(),Object.entries()对象的转载 2016-12-16 14:57:37 · 534 阅读 · 0 评论 -
第一节,ECMAScript的介绍
ECMAScript 6简介 官网: http://es6.ruanyifeng.com/#docs/introECMAScript和JavaScript的关系ES6与ECMAScript 2015的关系语法提案的批准流程ECMAScript的历史部署进度Babel转码器Traceur转码器ECMAScript 6.0(以下简称ES6)是JavaScr转载 2016-12-16 11:36:26 · 996 阅读 · 0 评论 -
第二十二节,二进制数组
二进制数组ArrayBuffer对象TypedArray视图复合视图DataView视图二进制数组的应用SharedArrayBuffer二进制数组(ArrayBuffer对象、TypedArray视图和DataView视图)是JavaScript操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011年2月发布),ES6将它们纳入了ECMASc转载 2016-12-16 15:36:30 · 926 阅读 · 0 评论 -
第二十三节,SIMD
SIMD概述数据类型静态方法:数学运算静态方法:通道处理静态方法:比较运算静态方法:位运算静态方法:数据类型转换实例方法实例:求平均值概述SIMD(发音/sim-dee/)是“Single Instruction/Multiple Data”的缩写,意为“单指令,多数据”。它是JavaScript操作CPU对应指令的接口,你可以看做这是一转载 2016-12-16 15:37:24 · 840 阅读 · 0 评论 -
第三节,createClass创建标签类,并获取插入属性
Documentlet HelloMessage = React.createClass({ //let是ECMA6的声明变量,用它所声明的变量, 只在let命令所在的代码块内有效。 render : function(){ //在渲染的时候放回一个标签return hello {this.props.name}; //this转载 2016-12-20 17:40:57 · 561 阅读 · 0 评论 -
ECMAScript6 快速上手(新手必看)
随着google和firfox以及node6.0对es6的支持,es6语法的定稿使它越来越受到关注,尤其是react项目基本上都是用es6来写的。是时候从es5到es6转变了一、相关背景介绍我们现在大多数人用的语法javascript 其实版本是ecmscript5,也是就es5。这个版本己经很多年了,且完美被各大浏览器所支持。所以很多学js的朋友可以一直分不清楚es5和javsc转载 2016-12-20 17:09:45 · 20481 阅读 · 2 评论 -
promise随笔
Documentconsole.dir(Promise);//Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等同样很眼熟的方法。这么说用Promise new出来的对象肯定就有then、catch方法喽,没错。//调用promise------------------------原创 2017-04-27 16:34:31 · 475 阅读 · 0 评论 -
promise是什么,使用方法
2015年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范。作为ES6中最重要的特性之一,我们有必要掌握并理解透彻。本文将由浅到深,讲解Promise的基本概念与使用方法。 ES6 Promise 先拉出来遛遛复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么玩意转载 2017-04-27 16:32:54 · 4008 阅读 · 1 评论 -
第二十一节,读懂 ECMAScript 规格
读懂 ECMAScript 规格概述相等运算符数组的空位数组的map方法概述规格文件是计算机语言的官方标准,详细描述语法规则和实现方法。一般来说,没有必要阅读规格,除非你要写编译器。因为规格写得非常抽象和精炼,又缺乏实例,不容易理解,而且对于解决实际的应用问题,帮助不大。但是,如果你遇到疑难的语法问题,实在找不到答案,这时可以去查看规格文件,了解语言转载 2016-12-16 15:35:39 · 478 阅读 · 0 评论 -
第二十节,编程风格
编程风格块级作用域字符串解构赋值对象数组函数Map结构Class模块ESLint的使用本章探讨如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的、易于阅读和维护的代码。多家公司和组织已经公开了它们的风格规范,具体可参阅jscs.info,下面的内容主要参考了Airbnb的JavaScrip转载 2016-12-16 15:34:42 · 326 阅读 · 0 评论 -
第十九节,Module
Module严格模式export 命令import 命令模块的整体加载export default 命令export 与 import 的复合写法模块的继承ES6模块加载的实质浏览器的模块加载循环加载跨模块常量import()ES6模块的转码历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相转载 2016-12-16 15:33:59 · 423 阅读 · 0 评论 -
第二节,let和const命令
let和const命令let命令块级作用域const命令顶层对象的属性global 对象let命令基本用法ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。{ let a = 10; var b = 1;}a // ReferenceError: a is not d转载 2016-12-16 14:47:56 · 394 阅读 · 0 评论 -
第六节,数值的扩展
数值的扩展二进制和八进制表示法Number.isFinite(), Number.isNaN()Number.parseInt(), Number.parseFloat()Number.isInteger()Number.EPSILON安全整数和Number.isSafeInteger()Math对象的扩展指数运算符二进制和八进制表示法ES6转载 2016-12-16 14:55:11 · 392 阅读 · 0 评论 -
第七节,数组的扩展
数组的扩展Array.from()Array.of()数组实例的copyWithin()数组实例的find()和findIndex()数组实例的fill()数组实例的entries(),keys()和values()数组实例的includes()数组的空位Array.from()Array.from方法用于将两类对象转为真正的数组:类似数组的转载 2016-12-16 14:56:10 · 333 阅读 · 0 评论 -
第十节,Symbol第七种数据类型
Symbol概述作为属性名的Symbol实例:消除魔术字符串属性名的遍历Symbol.for(),Symbol.keyFor()实例:模块的 Singleton 模式内置的Symbol值概述ES5的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin模式),新方法的名字就有可能与转载 2016-12-16 14:59:33 · 1997 阅读 · 0 评论 -
第十一节,Set和Map数据结构
Set和Map数据结构SetWeakSetMapWeakMapSet基本用法ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。var s = new Set();[2, 3, 5, 4, 5, 2, 2].map(x => s.add(x));fo转载 2016-12-16 15:01:24 · 407 阅读 · 0 评论 -
第十二节,Proxy 和 Reflect
Proxy 和 ReflectProxy 概述Proxy实例的方法Proxy.revocable()this 问题Reflect概述Reflect对象的方法实例:使用 Proxy 实现观察者模式Proxy 概述Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言转载 2016-12-16 15:08:50 · 375 阅读 · 0 评论 -
第十三节,Iterator和for...of循环
Iterator和for...of循环Iterator(遍历器)的概念数据结构的默认Iterator接口调用Iterator接口的场合字符串的Iterator接口Iterator接口与Generator函数遍历器对象的return(),throw()for...of循环Iterator(遍历器)的概念JavaScript原有的表示“集合”的数据结转载 2016-12-16 15:27:21 · 426 阅读 · 0 评论 -
第十四节,Generator 函数
Generator 函数简介next方法的参数for...of循环Generator.prototype.throw()Generator.prototype.return()yield*语句作为对象属性的Generator函数Generator函数的this含义应用简介基本概念Generator函数是ES6提供的一种异步编程转载 2016-12-16 15:28:35 · 582 阅读 · 0 评论 -
第十五节,Promise对象
Promise对象Promise的含义基本用法Promise.prototype.then()Promise.prototype.catch()Promise.all()Promise.race()Promise.resolve()Promise.reject()两个有用的附加方法应用Promise.try()Promise的含义Pr转载 2016-12-16 15:30:09 · 1017 阅读 · 0 评论 -
第十六节,异步操作和Async函数
异步操作和Async函数基本概念Generator函数Thunk函数co模块async函数异步遍历器异步编程对JavaScript语言太重要。Javascript语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。ES6诞生以前,异步编程的方法,大概有下面四种。回调函数事件监听发布/订阅Promise 对象ES6将转载 2016-12-16 15:31:11 · 928 阅读 · 0 评论 -
第十七节,class
ClassClass基本语法Class的继承原生构造函数的继承Class的取值函数(getter)和存值函数(setter)Class的Generator方法Class的静态方法Class的静态属性和实例属性new.target属性Mixin模式的实现Class基本语法概述JavaScript语言的传统方法是通过构造函数,定义并生转载 2016-12-16 15:32:14 · 385 阅读 · 0 评论 -
第十八节,修饰器
修饰器类的修饰方法的修饰为什么修饰器不能用于函数?core-decorators.js使用修饰器实现自动发布事件MixinTraitBabel转码器的支持类的修饰修饰器(Decorator)是一个函数,用来修改类的行为。这是ES7的一个提案,目前Babel转码器已经支持。修饰器对类的行为的改变,是代码编译时发生的,而不是在运行时。这意转载 2016-12-16 15:33:08 · 404 阅读 · 0 评论 -
第十节,使用promise操作ajax
Document<!-- 原本的 react package 被拆分为 react 及 react-dom 两个 package。其中 react package 中包含 React.createElement、 .createClass、 .Component, .PropTypes, .Children 这些 API,而 react-dom package 中包含 ReactDOM原创 2017-04-27 17:53:32 · 1039 阅读 · 0 评论