摘要:模块Module 模块Module:一个模块,就是一个对其他模块暴露自己的属性或者方法的文件。 在这里,我们会把module-A.js和module-B.js分别当作两个模块(moduleA模块和moduleB模块)来对待和处理。用这两个模块来演示如何暴露一个模块的属性或方法。 导出Export 导
阅读全文
摘要:基本用法 那么,我们就使用ES6封装后的类class来实现我们想要的效果,我们来学学它的基本用法。 声明一个类的写法: 代码很简短,我们通过关键字class来声明一个名字叫Animal的类,可以看到类里面(花括号 {}里面)有一个叫constructor方法,它就是构造方法,构造方法里面的this,
阅读全文
摘要:Promise的设计初衷 首先,我们先一起了解一下,为什么要设计出这么一个玩意儿,用它是为了解决什么问题? 带着这个问题,我们来回想一下日常开发中,经常需要用到ajax请求数据,拿到数据后,再进行一些处理。 可有一次,你需要用ajax进行多次请求,而且,每次请求都依赖上一次请求返回的数据来作为参数,
阅读全文
摘要:什么是Map 介绍什么是Map,就不得不说起Object对象,我们都知道Object对象是键值对的集合: 现在,ES6 提供了Map结构给我们使用,它跟Object对象很像,但是不同的是,它的key键名的类型不再局限于字符串类型了,它可以是各种类型的值;可以说,它比Object对象更加灵活了,当然,
阅读全文
摘要:什么是Set结构 Set是ES6给开发者带来的一种新的数据结构,你可以理解为值的集合。我们平时见到的数组Array也是一种数据结构,但是Set跟其他数据结构不同的地方就在于:它的值不会有重复项。 基本用法 我们从最基本的学起,Set的用法: Set本身是一个构造函数,你可以理解为一个类,使用的时候需
阅读全文
摘要:声明Generator函数 我们要学习的这个新函数叫做:Generator函数,又称生成器函数,是ES6的一个重要的新特性。 我们来看看这个函数张什么模样: 上面这个就是Generator函数,乍一看,是不是跟普通的函数没什么两样?确实很像,但是我们要知道它有两个重要的区别: 普通函数用functi
阅读全文
摘要:for...of,我们可以使用它来遍历数组,字符串,Set和Map结构,但是有没有发现,我们并没有说它可以遍历Object对象,为什么不试试用它来遍历Object对象呢? 我们试试看: 为什么数组,Set和Map结构又可以支持for...of的遍历呢? 原来,要想能够被for...of正常遍历的,都
阅读全文
摘要:for...of 是什么 for...of 一种用于遍历数据结构的方法。它可遍历的对象包括数组,对象,字符串,set和map结构等具有iterator 接口的数据结构。 (上面这句话如果有看不懂的地方,自动忽略即可,后续会有章节介绍。) 下面就以大家熟悉的数组为例来介绍for...of。 遍历数组早
阅读全文
摘要:数据类型 在介绍Symbol之前,我们简单介绍一下JavaScript的数据类型: JavaScript有6中数据类型,分别是: String 字符串类型 Number 数字类型 Object 对象类型 Boolean 布尔值类型 Null 空值 Undefined 未定义 这6种类型写过代码的同学
阅读全文
摘要:参数的默认值 在开发中,给函数的参数指定默认值,是很普遍很常见的一个需求,我们先来回顾一下传统的实现方式,对比着看更好理解: 上面是传统的实现方式,通过或运算实现,原理:如果运算符 || 左侧为true,直接返回左侧的值,否则返回右侧的值; 在person函数内,如果参数n没有传参,那么变量name
阅读全文
摘要:ES6不仅为字符串、数值和数组带来了扩展,也为对象带来了很多新特性。这一节,我们来一起学习一下对象的扩展。 对象的传统表示法 我们回顾一下,对象的传统表示法: 上面的案例很简单,变量person就是一个对象,对象含有name属性和一个say方法。表示法是用键值对的形式来表示,这就是传统的表示法。 E
阅读全文
摘要:Array.of()函数 函数作用:将一组值,转换成数组。 是不是很好理解,传进去的数字是:1~5,最后经过Array.of函数处理,得到了一个数组,而数组的内容就是[1,2,3,4,5]。 Array.from( )函数 函数作用:可以将类似数组的对象或者可遍历的对象转换成真正的数组。 有哪些是类
阅读全文
摘要:1. 二进制和八进制表示法 ES6提供了二进制和八进制的新写法,分别用前缀0b(或0B)和0o(或0o)表示。 将0b和0o前缀的字符串数值转为十进制,要使用Number方法。 Number('0b111'); //7 2. Number.isFinite(),Number.isNaN() Numb
阅读全文
摘要:字符串的扩展 简答说,ES6对字符串新增了一些函数和操作规范,使得开发者对字符串的操作更加方便,以往需要借助其他javascript代码才能实现的效果,现在利用这些函数即可快速实现。 新特性:模板字符串 “模板字符串”是字符串的一个新特性,传统的字符串实现拼接的时候,要将变量插入字符串中,语法是这样
阅读全文
摘要:对象的解构赋值 对象的解构赋值跟数组的解构赋值很类似,我们来看一段小代码: 这段例子的代码是不是跟数组的解构赋值很相似,只不过是数组换成了对象。但是两者有一个不同的地方,我们对上面的代码稍做修改: 我把右侧的对象属性b和属性c的位置进行了调换,但这并不会影响赋值的结果,变量b和变量c的值不会改变,依
阅读全文
摘要:数组的解构赋值的用法有以下几情况要注意: 1、结构赋值可以嵌套的 如我们的预料,数组中即使再嵌套另一个数组,结构赋值也能为我们的变量准确的赋值,c1和c2的值分别为3.1 , 3.2,也就是赋值成功。 2、不完全解构 当左边的模式(你可以理解为格式)与右边不完全一样的时候,那么赋值过程中,只会给模式
阅读全文
摘要:1:什么是解构赋值 按照一贯的套路,接下来的内容是解释:什么是解构赋值? 来看看官方的解释: ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 这句话也不难理解,但是前端君怎么会这么敷衍了事,随便贴一段官方的文字解释就算呢。 来,我们来上一段
阅读全文