GitHub中文社区

最新提案

最新提案本章介绍一些尚未进入标准、但很有希望的最新提案。do 表达式本质上,块级作用域是一个语句,将多个操作封装在一起,没有返回值。{ let t = f(); t = t * t + 1;}上面代码中,块级作用域将两个语句封装在一起。但是,在块级作用域以外,没有办法得到t的值,因为块级作用域不

ArrayBuffer

ArrayBufferArrayBuffer对象、TypedArray视图和DataView视图是 JavaScript 操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011 年 2 月发布),ES6 将它们纳入了 ECMAScript 规格,并且增加了新的方法。它们都是以数组的语法

异步遍历器

异步遍历器同步遍历器的问题《遍历器》一章说过,Iterator 接口是一种数据遍历的协议,只要调用遍历器对象的next方法,就会得到一个对象,表示当前遍历指针所在的那个位置的信息。next方法返回的对象的结构是{value, done},其中value表示当前的数据的值,done是一个布尔值,表示遍

读懂 ECMAScript 规格

读懂 ECMAScript 规格概述规格文件是计算机语言的官方标准,详细描述语法规则和实现方法。一般来说,没有必要阅读规格,除非你要写编译器。因为规格写得非常抽象和精炼,又缺乏实例,不容易理解,而且对于解决实际的应用问题,帮助不大。但是,如果你遇到疑难的语法问题,实在找不到答案,这时可以去查看规格文

编程风格

编程风格本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的、易于阅读和维护的代码。多家公司和组织已经公开了它们的风格规范,下面的内容主要参考了 Airbnb 公司的 JavaScript 风格规范。块级作用域(1)let 取代 varES

Module 的加载实现

Module 的加载实现上一章介绍了模块的语法,本章介绍如何在浏览器和 Node.js 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载)。浏览器加载传统方法HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。<!-- 页面内嵌的

Module 的语法

Module 的语法概述历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScrip

Class 的继承

Class 的继承简介Class 可以通过extends关键字实现继承,让子类继承父类的属性和方法。extends 的写法比 ES5 的原型链继承,要清晰和方便很多。class Point {}class ColorPoint extends Point {}上面示例中,Point是父类,Color

Class 的基本语法

Class 的基本语法类的由来JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。function Point(x, y) { this.x = x; this.y = y;}Point.prototype.toString = function () { re

async 函数

async 函数含义ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是什么?一句话,它就是 Generator 函数的语法糖。前文有一个 Generator 函数,依次读取两个文件。const fs = require('fs');const r