随笔分类 -  07-01. ES6

摘要:本文内容转自《ECMAScript 6 入门》作者:阮一峰 这里只供记录自己的学习过程用。 数组的解构赋值 基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前,为变量赋值,只能直接指定值。 let a = 1; let b = 阅读全文
posted @ 2021-05-10 11:40 真的想不出来 阅读(94) 评论(0) 推荐(0)
摘要:新提出来的特性是将 ** 作为指数操作的中缀运算符: x ** y 与以下表达式运算结果相同: Math.pow(x, y) 示例: let power = 3 ** 2; // 3的2次方,即 3 * 3 console.log(power) // 9 let num = 3; num **= 2 阅读全文
posted @ 2021-05-10 10:30 真的想不出来 阅读(194) 评论(0) 推荐(0)
摘要:new Map() 介绍: 对象保存键值对,并记住键的原始插入顺序。任何值(对象值和原始值)都可以用作键或值。 // const map = new Map(); const map = new Map([[1, 2], [{ a: 1 }, 2], ["1", 2]]); console.log( 阅读全文
posted @ 2020-09-28 15:22 真的想不出来 阅读(1086) 评论(0) 推荐(0)
摘要:ES6 的 switch 跟 if 差不多,当某个固定的变量或者属性会发生变化的时候使用。 注意:每个 case 完都要用 break(在函数中可以用return)终止switch,不然会穿透(当前成立的条件之后的代码(包括下面的case)都会执行) 例子 let res = 2; let rese 阅读全文
posted @ 2019-09-16 14:06 真的想不出来 阅读(537) 评论(0) 推荐(0)
摘要:介绍 require/exports require/exports 出生在野生规范当中,什么叫做野生规范?即这些规范是 JavaScript 社区中的开发者自己草拟的规则,得到了大家的承认或者广泛的应用。比如 CommonJS、AMD、CMD 等等。 AMD、CMD规范,2014年已基本上不怎么使 阅读全文
posted @ 2019-02-14 20:59 真的想不出来 阅读(742) 评论(0) 推荐(0)
摘要:require 和 import 的区别 require 方法是 CommonJs 推出的,NodeJs 自带了这个功能。而 import 是 ES6 推出的 CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。 CommonJS 模块是运行时加载,ES6 模块是编译时输出接口 阅读全文
posted @ 2018-12-26 12:27 真的想不出来 阅读(700) 评论(0) 推荐(0)
摘要:在 ES6 中,引入了一个新的数据结构类型:Set。而 Set 与 Array 的结构是很类似的,且 Set 和 Array 可以相互进行转换。 Set 对象允许你存储任何类型的唯一值(Set 对象存储的值总是唯一的),无论是原始值或者是对象引用。 ... ES6扩展运算符 Set 对象方法 方法 阅读全文
posted @ 2018-12-15 18:23 真的想不出来 阅读(1178) 评论(0) 推荐(0)
摘要:for...of 作为遍历所有数据结构的统一的方法。但不能直接遍历对象,因为没有 Symbol.iterator (遍历器接口) (所以可用 Object.keys( ) / Object.values( ) 去转一道,转成数组就可以用了。或者给obj [ Symbol.iterator ] = f 阅读全文
posted @ 2018-12-11 18:24 真的想不出来 阅读(405) 评论(0) 推荐(0)
摘要:Promise 基础认识 用 Promise 主要是换种写法而已 (通过callBack的思想把异步编程变成同步的一种写法) 英文是“承诺”的意思,表示其它手段无法改变。 Promise 的原理?(面试题) 一句话总结promise原理:resolve, reject两个回调函数控制promise内 阅读全文
posted @ 2018-12-10 13:08 真的想不出来 阅读(916) 评论(0) 推荐(0)
摘要:... spread展开操作符 作用范围: 所有可迭代(iterable)的对象,包括:数组、对象、字符串 console.log(...[1, 2, 4]) // 1 2 4 console.log(..."123") // 字符串的 1 2 3 console.log({...{a: 1, b: 阅读全文
posted @ 2018-11-19 21:37 真的想不出来 阅读(131) 评论(0) 推荐(0)
摘要:箭头函数 ES6新添加的函数表达式 let fn = (a,b) =>{ //执行语句 } 箭头函数,不加 {} 就等同于 return(只能有一行代码),加 {} 可以放多行代码。 let fn = (a) => a+1; 当参数只有一个时,()可有可无。如果没有参数,或者有多个参数时必须加()。 阅读全文
posted @ 2018-11-19 21:36 真的想不出来 阅读(153) 评论(0) 推荐(0)
摘要:以后补充 阅读全文
posted @ 2018-11-09 23:12 真的想不出来 阅读(126) 评论(0) 推荐(0)
摘要:ES6 继承 (逼格最高,也是未来的趋势,必学必用) 知识点: class 类 ES6给我们提供了class的语法糖,可以通过class来创建类 class Person { // 私有属性,只能被类内部调用,无法被实例使用比如:`p.#job` 会报错 #job = "工人" constructo 阅读全文
posted @ 2018-11-09 23:12 真的想不出来 阅读(750) 评论(0) 推荐(0)
摘要:let : (ES6新增加的知识点) babel可以把ES6转成ES5 变量: var let 区别:var 会进行变量提升, 会在window(全局作用域)下挂属性,不受限于块,可以重复命名 let 不会变量提升, 在声明的上方有暂存死区,受限于块,不可重复命名 let的好处: 1.在同域中不能有2个相同的名字出现(也包括形参... 阅读全文
posted @ 2018-10-28 15:19 真的想不出来 阅读(202) 评论(0) 推荐(0)
摘要:ES6中新增了块的概念 块: 是个花括号 { } 常用的一些带{ }的地方: 用了块{ },产生的变化: 1.没有被块 包着的函数声明,在全局都能被访问到 2.被{块}包住的函数声明,在 { }上方访问时undefined / let 和 const 声明的变量 和 常量 支持{ }的概念,在块之外 阅读全文
posted @ 2018-10-28 15:05 真的想不出来 阅读(309) 评论(0) 推荐(1)