Javascript - 对象的扩展

QRI的头像
QRI
这人还不错哦!
对象(object)是 JavaScript 最重要的数据结构。ES6 对它进行了重大升级,本章介绍数据结构本身的改变,下一章介绍Object对象的新增方法。属性的简洁表示法ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。const foo = 'ba... 显示全部
阅读:1 0 2019-11-09

Javascript - 对象的新增方法

QRI的头像
QRI
这人还不错哦!
本章介绍 Object 对象的新增方法。Object.is()ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===)。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。JavaScript 缺乏一种运算,在所有环境中,只要两个值是一样的... 显示全部
阅读:1 0 2019-11-09

Javascript - Symbol

QRI的头像
QRI
这人还不错哦!
概述ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入Symb... 显示全部
阅读:1 0 2019-11-09

Javascript - Set 和 Map 数据结构

QRI的头像
QRI
这人还不错哦!
Set基本用法ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成 Set 数据结构。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for ... 显示全部
阅读:1 0 2019-11-09

Javascript - Proxy

QRI的头像
QRI
这人还不错哦!
概述Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写... 显示全部
阅读:1 0 2019-11-09

Javascript - Reflect

QRI的头像
QRI
这人还不错哦!
概述Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。(1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object和R... 显示全部
阅读:1 0 2019-11-09

Javascript - Promise 对象

QRI的头像
QRI
这人还不错哦!
Promise 的含义Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步... 显示全部
阅读:1 0 2019-11-09

Javascript - Iterator 和 for...of 循环

QRI的头像
QRI
这人还不错哦!
Iterator(遍历器)的概念JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了Map和Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map,Map的成员是对象。这样就需要一种统一的接口... 显示全部
阅读:1 0 2019-11-09

Javascript - Generator 函数的语法

QRI的头像
QRI
这人还不错哦!
简介基本概念Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。本章详细介绍 Generator 函数的语法和 API,它的异步编程应用请看《Generator 函数的异步应用》一章。Generator 函数有多种理解角度。语法上,首先可以把它理解成,Gene... 显示全部
阅读:1 0 2019-11-09

Javascript - async 函数

QRI的头像
QRI
这人还不错哦!
含义ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是什么?一句话,它就是 Generator 函数的语法糖。前文有一个 Generator 函数,依次读取两个文件。const fs = require('fs');const readFile ... 显示全部
阅读:1 0 2019-11-09

Javascript - Class 的基本语法

QRI的头像
QRI
这人还不错哦!
简介类的由来JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。function Point(x, y) {this.x = x;this.y = y;}Point.prototype.toString = function () {return '('... 显示全部
阅读:1 0 2019-11-09

Javascript - Class 的继承

QRI的头像
QRI
这人还不错哦!
简介Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。class Point {}class ColorPoint extends Point {}上面代码定义了一个ColorPoint类,该类通过extends关键字,继承了Point类的所... 显示全部
阅读:1 0 2019-11-09

Javascript - Module 的语法

QRI的头像
QRI
这人还不错哦!
概述历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支持... 显示全部
阅读:1 0 2019-11-09

Javascript - Module 的加载实现

QRI的头像
QRI
这人还不错哦!
上一章介绍了模块的语法,本章介绍如何在浏览器和 Node 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载)。浏览器加载传统方法HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。<!-- 页面内嵌的脚本 --><sc... 显示全部
阅读:1 0 2019-11-09

Javascript - 编程风格

QRI的头像
QRI
这人还不错哦!
本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的、易于阅读和维护的代码。多家公司和组织已经公开了它们的风格规范,下面的内容主要参考了 Airbnb 公司的 JavaScript 风格规范。块级作用域(1)let 取代 varES6 提出... 显示全部
阅读:1 0 2019-11-09