ES6+入门系列
ES6+入门系列文字
大地飞鸿
这个作者很懒,什么都没留下…
展开
-
es6+最佳入门实践(14)
14.模版字符串模版字符串(template string)是增强版的字符串,定义一个模版字符串需要用到反引号let s = `这是一个模版字符串`console.log(s)14.1.模版字符串的应用场景在es5中,我们经常会遇到字符串拼接的情况,例如:输入标题1-6for(let i = 1; i <= 6; i++){ document.write('<h'...原创 2019-02-10 09:37:39 · 113 阅读 · 0 评论 -
es6+最佳入门实践(13)
13.模块化13.1.什么是模块化模块化是一种处理复杂系统分解为更好的可管理模块的方式。通俗的讲就是把一个复杂的功能拆分成多个小功能,并且以一种良好的机制管理起来,这样就可以认为是模块化。就像作家把书分成很多章节来写一样,程序员写代码分模块来写也是一种良好的习惯。从本质上来讲,一个模块就是一堆代码而已使用模块化方式写代码,有非常多的优点,例如,可维护性好、避免全局变量污染、可复用性好等,下面...原创 2019-02-10 09:37:31 · 107 阅读 · 0 评论 -
es6+最佳入门实践(12)
12.class基础用法和继承12.1.class基础语法在es5中,面向对象我们通常写成这样function Person(name,age) { this.name = name; this.age = age;}Person.prototype.showName = function () { console.log(this.name);};let...原创 2019-02-10 09:37:21 · 95 阅读 · 0 评论 -
es6+最佳入门实践(11)
11.async函数async 函数是什么?一句话,它就是 Generator 函数的语法糖。通俗的说就是Generator函数的另一种写法,这种写法更简洁,除此之外,async函数还对Genrator进行了一些改进首先,来回顾一下Generator函数实现文件读取const fs = require('fs');const co = require('co');function re...原创 2019-02-10 09:37:11 · 94 阅读 · 0 评论 -
es6+最佳入门实践(10)
10.Generator10.1.Generator是什么?Generator函数是ES6提供的一种异步编程解决方案。在它的内部封装了多个状态,因此,又可以理解为一种状态机,执行Generator函数后返回一个迭代器对象,使用这个迭代器对象可以遍历出Generator函数内部的状态Generator函数和传统函数的不同点有:1 函数定义的时候,function关键字后面加“*”, 2 内部使...原创 2019-02-09 22:01:52 · 76 阅读 · 0 评论 -
es6+最佳入门实践(9)
9.Iterator和for…of9.1.Iterator是什么?Iterator又叫做迭代器,它是一种接口,为各种不同的数据结构提供统一的访问机制。这里说的接口可以形象的理解为USB接口,有了这个接口可以做不同的事情,在编程中所说的接口最终都是要通过一段代码块来实现这个接口功能的。而Iterator接口提供的统一访问机制主要表现为遍历操作,任何数据类型只要具有Iterator接口,就可以完成...原创 2019-02-09 22:00:59 · 118 阅读 · 0 评论 -
es6+最佳入门实践(8)
8.Promise8.1.什么是异步?要理解异步,首先,从同步代码开始说alert(1)alert(2)像上面的代码,执行顺序是从上到下,先后弹出1和2,这种代码叫做同步代码alert(0)setTimeout(function () { alert(1);}, 2000);setTimeout(function () { alert(2)}, 1000);...原创 2019-02-09 21:59:58 · 678 阅读 · 0 评论 -
es6+最佳入门实践(7)
7.set和map数据结构7.1.什么是set?Set就是集合,集合是由一组无序且唯一的项组成,在es6中新增了set这种数据结构,有点类似于数组,但是它的元素是唯一的,没有重复 let st = new Set([1,2,2,3,3,4])console.log(st) // [1,2,3,4]Set的size属性可以知道set中有多少元素,类似于数组的length属性let s...原创 2019-02-09 21:59:00 · 629 阅读 · 0 评论 -
es6+最佳入门实践(6)
6.Symbol用法6.1.什么是Symbol?Symbol是es6中一种新增加的数据类型,它表示独一无二的值。es5中我们把数据类型分为基本数据类型(字符串、数字、布尔、undefined、null)和引用数据类型(Object),在es6中新增的Symbol数据类型划分到基本数据类型为什么会有这样一种数据类型呢?//别人给了你一个定义好的对象var obj = { name:...原创 2019-02-09 21:57:58 · 245 阅读 · 0 评论 -
es6+最佳入门实践(5)
5.对象扩展5.1.对象简写在es5中,有这样一种写法var name = "xiaoqiang";var age = 12;var obj = { name : name, age : age}在es6中,我们可以简写成这样一种形式let name = "xiaoqiang";let age = 12;let obj = { name, ag...原创 2019-02-09 21:56:57 · 110 阅读 · 0 评论 -
es6+最佳入门实践(4)
4.函数扩展4.1.参数默认值默认参数就是当用户没有传值的时候函数内部默认使用的值,在es5中我们通过逻辑运算符||来实现function Fn(a, b) { b = b || "nodeing"; return a + b}console.log(Fn("hello"))这样写有一个缺点就是当我传入一个空字符串的时候,返回的结果并不是我想要的结果,正确的输出结果应...原创 2019-02-09 21:56:04 · 93 阅读 · 0 评论 -
es6+最佳入门实践(3)
3.数组扩展3.1.扩展运算符扩展运算符用三个点(…)表示,从字面上理解,它的功能就是把数组扩展开来,具体形式如下:let arr = [1, 2, 3];console.log(...arr); //打印结果 1 2 3//等价于console.log(1,2,3);从上面代码中,我们可以看出…arr展开后的形式是这样的 1,2,3,用逗号隔开的参数序列在函数调用的时候,可以...原创 2019-02-09 21:54:37 · 83 阅读 · 0 评论 -
es6+最佳入门实践(2)
2.解构赋值2.1.什么是解构赋值?什么是解构赋值?这里的关键字还是赋值,这是说如何去赋值的问题,这里说的解构可以理解为解散重新构造,所以解构赋值可以理解为解散重新构造后进行赋值,通常是左边一种结构,右边一种结构,左右的结构拆开来一一对应进行赋值,例如:let a, b[a, b] = [1, 2]console.log(a, b)这里就相当于把1赋值给a,把2赋值给b,这样的操作就...原创 2019-02-09 21:53:32 · 89 阅读 · 0 评论 -
es6+最佳入门实践(1)
1.let和const1.1.let和块级作用域在es5中,js的作用域分为全局作用域和局部作用域,通常是用函数来区分的,函数内部属于局部作用域,在es6中新增了块级作用域的概念,使用{}括起来的区域是一个块级作用域{ var a = 10}// 输出10console.log(a) 如果上述代码中定义变量的时候使用let,在外面使用变量a就会报错{ let a ...原创 2019-02-09 21:52:22 · 118 阅读 · 0 评论