ESModule

定义 ESModule(简称ESM)是Javascript程序拆分成多个单独模块,并能按需导入的标准。ES6的设计思想是静态化,所以能在编译阶段(静态分析)时就确定模块的依赖关系,以及输入/输出的变量 不同于webpack和babel,ESM是Javascript的标准功能,在浏览器和Node都已实现。使用ESM浏览器 ...

词法环境

词法环境(lexicalEnvironment) 是一个用于定义特定变量和函数标识符在 ECMAScript 代码的词法嵌套结构上关联关系的规范类型。一个词法环境由一个环境记录项和可能为空的外部词法环境引用构成。通常词法环境会与特定的 ECMAScript 代码相联系(如 FunctionDeclaration,WithStatement 或者 TryStatement 的 Cat ...

Map&Set

字典 一些元素的集合,每个元素都有一个称作key的域,不同元素的key各不相同 集合 由一堆无序的、相关联的,且不重复的内存结构组成的组合 区别 共同点: 集合、字典都可以存储不重复的值 不同点: 集合以[值、值]形式存储,字典以['键', '值']形式存储 Map 是一种字典数据结构 是键值对的有序列表,而键和值都可以是* ...

for-of

for-of可以遍历数组,类似数组的对象以及通常所有可迭代的对象(map,set,DOM集合) 遍历数组 无需其他变量来保持索引 arr.entries() 方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value) 迭代对象? 是支持迭代协议的对象(字符串、数组、类数组、集合、映射、...), Symbol.iterator可检查数据类型是 ...

entries

参数: 可以返回其可枚举属性的键值对的对象 返回值: 给定对象自身可枚举属性的键值对数组 // 对象 const obj = { name: 'Ethan', sex: 'Male'} Object.entries(obj) // [['name', 'Ethan'],['sex', 'Male']] // 数组 const arr = [1, 2, 3] Object ...