博客

分享关于技术、生活和成长的见闻。

JavaScript

destructuring

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前,为变量赋值,只能直接指定值。 ```javascript...

阅读全文 →
2个月前5
JavaScript

fp

JavaScript 语言从一诞生,就具有函数式编程的烙印。它将函数作为一种独立的数据类型,与其他数据类型处于完全平等的地位。在 JavaScript 语言中,你可以采用面向对象编程,也可以采用函数式编程。有人甚至说,JavaScript 是有史以来第一种被大规模采用的函数式编程语言。 ES6 的种种新增功能,使得函数...

阅读全文 →
2个月前7
JavaScript

function

ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 ```javascript function log(x, y) {...

阅读全文 →
2个月前3
JavaScript

generator

Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。本章详细介绍 Generator 函数的语法和 API,它的异步编程应用请看《Generator 函数的异步应用》一章。 Generator 函数有多种理解角度。语法上,首先可以把它理解成,Generator 函数是一个状态机,...

阅读全文 →
2个月前2
JavaScript

generator-async

异步编程对 JavaScript 语言太重要。JavaScript 语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。本章主要介绍 Generator 函数如何完成异步操作。 ES6 诞生以前,异步编程的方法,大概有下面四种。 - 回调函数...

阅读全文 →
2个月前1
JavaScript

intro

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系? 要讲清...

阅读全文 →
2个月前1
JavaScript

iterator

JavaScript 原有的表示“集合”的数据结构,主要是数组(`Array`)和对象(`Object`),ES6 又添加了`Map`和`Set`。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是`Map`,`Map`的成员是对象。这样就需要一种统一的接口机制,来处理所有不同的数据结...

阅读全文 →
2个月前1
JavaScript

let

ES6 新增了`let`命令,用来声明变量。它的用法类似于`var`,但是所声明的变量,只在`let`命令所在的代码块内有效。 ```javascript {...

阅读全文 →
2个月前1
JavaScript

mixin

JavaScript 语言的设计是单一继承,即子类只能继承一个父类,不允许继承多个父类。这种设计保证了对象继承的层次结构是树状的,而不是复杂的[网状结构](https://en.wikipedia.org/wiki/Multiple_inheritance#The_diamond_problem)。 但是,这大大降低了...

阅读全文 →
2个月前1
JavaScript

module

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

阅读全文 →
2个月前1