Toggle navigation
GitHub中文社区
首页
GitHub排行榜
GitHub教程
GitHub精选
GitHub趋势
GitHub官网
CodeWhy教程
GitHub中文社区
Generator 函数的异步应用
Generator 函数的异步应用异步编程对 JavaScript 语言太重要。JavaScript 语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。本章主要介绍 Generator 函数如何完成异步操作。传统方法ES6 诞生以前,异步编程的方法,大概有下面四种。回调函数事件
Posted by eye on 10-09,2023
Generator 函数的语法
Generator 函数的语法简介基本概念Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。本章详细介绍 Generator 函数的语法和 API,它的异步编程应用请看《Generator 函数的异步应用》一章。Generator 函数有多种理解角度。语法上
Posted by eye on 10-09,2023
Iterator 和 for…of 循环
Iterator 和 for…of 循环Iterator(遍历器)的概念JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了Map和Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map,Ma
Posted by eye on 10-09,2023
Promise 对象
Promise 对象Promise 的含义Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的
Posted by eye on 10-09,2023
Reflect
Reflect概述Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。(1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在O
Posted by eye on 10-09,2023
Proxy
Proxy概述Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行
Posted by eye on 10-09,2023
Set 和 Map 数据结构
Set 和 Map 数据结构Set基本用法ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成 Set 数据结构。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x =>
Posted by eye on 10-09,2023
Symbol
Symbol概述ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是 ES6
Posted by eye on 10-09,2023
运算符的扩展
运算符的扩展本章介绍 ES6 后续标准添加的一些运算符。指数运算符ES2016 新增了一个指数运算符(**)。2 ** 2 // 42 ** 3 // 8这个运算符的一个特点是右结合,而不是常见的左结合。多个指数运算符连用时,是从最右边开始计算的。// 相当于 2 ** (3 ** 2)2 ** 3
Posted by eye on 10-09,2023
对象的新增方法
对象的新增方法本章介绍 Object 对象的新增方法。Object.is()ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===)。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。JavaScript 缺乏一种运算,在所有环境中,只要
Posted by eye on 10-09,2023
← Newer Posts
Older Posts →
FEATURED TAGS
haskell
has
Batchfile
jupyter
zig
shell
vala
swift
vue
git
c-shap
cshap
cpp
Kotlin
dart
lua
python
JavaScript
Rust
c
TypeScript
php
java
ruby
go
分类
GitHub趋势 (2)
GitHub精选 (238)
GitHub教程 (182)
GitHub排行榜 (3)
TypeScript (26)
html教程 (14)
ssh教程 (9)
bash教程 (19)
es6教程 (31)
webAPI教程 (24)
c语言教程 (42)
JavaScript教程 (14)
C 语言标准库 (20)
ABOUT ME
FRIENDS