ES6新增iterator技术是被高度关注的技术,然,iterator确切是什么技术,解决何种编程任务(方便我们制作什么样的程序功能),又与 generator 技术(generator函数返一个iterator对象实例)是何关系,是一系列相关的重要的问题。
EM:编程任务,与程序本身的计算任务,是不同的。「编程」是(程序员)制作具有某处计算结构的程序存在;「计算任务」是(机器)制作某种需要复杂处理过程的计算结果。
ES6新增iterator技术是被高度关注的技术,然,iterator确切是什么技术,解决何种编程任务(方便我们制作什么样的程序功能),又与 generator 技术(generator函数返一个iterator对象实例)是何关系,是一系列相关的重要的问题。
EM:编程任务,与程序本身的计算任务,是不同的。「编程」是(程序员)制作具有某处计算结构的程序存在;「计算任务」是(机器)制作某种需要复杂处理过程的计算结果。
**「对象」/Object技术**是JS开发中使用最多的技术之一。因为JS应用规模越来越大,对象越来越多(多应用角色,多结构层次的对象),对象的创建和使用应该尽可能的简洁。
ES6对**对象**这个工具作了多个优化改进,让它使用更加方便,和灵活。
本文部分内容择译自《Understanding ECMAScript 6 》。
积累了相当的ES5函数技术的使用经验,ES6也对**函数对象技术**作了多处的使用上的改进,让其更加的灵活方便。
本文部分内容择译自《Understanding ECMAScript 6 》。
解构赋值语法(Destructuring)是ES6新进的 使用 objects 和 arrays 的(可统称「结构对象」)更便捷的新语法,这种语法针对将结构对象的多个成员值一次读取(赋值给本地变量)出来,解构语法借用了对象字面量和数组字面量的语法。
本文部分内容择译自《Understanding ECMAScript 6 》
据统计,箭头函数(arrow functions)是新版JS(ES6)最受欢迎的功能之一,并且已经得到各大主流现代浏览的支持。
本文看看箭头函数到底是什么,怎么用法,最常见的使用情景(use cases),还有它的不足或使用陷阱。
本文略译自《ES6 Arrow Functions: Fat and Concise Syntax in JavaScript》。
JavaScript 一般被认为是天生具有异步特性的,这是什么意思?与其它非天生异步的语言相对,异步特性是对「JavaScript应用开发」有什么影响[em]?这些异步编程的方式在新版ES6+有没有新改进?
EM:更确切的是JS应用的交互任务天性具有异步特性,影响主要表现是,有一组异步编程的API。
本文摘译自《Flow Control in Modern JS: Callbacks to Promises to Async/Await》和《 An Overview of JavaScript Promises》两篇文章。
线性数组(Arrays)是很多编程语言都内置的最基础的「数据结构」[注1],JavaScript也不例外的支持使用数组。数组在原初设计还是比较接近原始类型的,表征数据和对数据操作都比较原始,故在使用数组解决一个较复杂计算问题时显得比较烦琐(看这篇)。经历了一段时间的演化,ES5引入了一些「数组的实例方法」,通过抽象隐去了一些不必要的烦琐的重复的细节。这部分新的实例方法被称为“array extras”,一共九个:
本文简略介绍这些extras方法中的五类七个。