ES6 提供了新的数据结构 Set以及Map,下面我们来一一讲解. 一.Set 特性 似于数组,但它的一大特性就是所有元素都是唯一的,没有重复. 我们可以利用这一唯一特性进行数组的去重工作. 1.单一数组的去重 let set6 = new Set([1, 2, 2, 3, 4, 3, 5]) console.log('distinct 1:', set6) 结果: distinct 1: Set { 1, 2, 3, 4, 5 } 2.多数组的合并去重 let arr1 = [1, 2, 3,…
Sets 和数组一样,都是一些有序值的的集合,但是Sets 和数组又有所不同,首先Sets 集合中不能存有相同的值,如果你向Sets 添加重复的值,它会忽略掉, 其次Sets 集合的作用也有所不同,它的主要作用一是存储数据,二是在于看一个值是不是在集合中,而不是对单个值进行操作,Sets 的查找更快.那怎样才能创建一个Sets, 使用new  Set(); 怎样才能添加值呢? 调用add() 方法 let set = new Set(); ); ); set.add({ name: 'sam'…
检测代码方法 function isNative(api){ return /native code/.test(api.toString())&&typeof api !== 'undefined' } 如检测浏览器是否支持Proxy, isNative(Proxy). native code是:已被编译为特定于处理器的机器码的代码.是浏览器已经支持的代码.即native code检查是不是浏览器原生支持,而不是打补丁方式支持.…
一:声明属性let const var let const 区别 1.var声明变量会发生变量提升,let.const不会发生变量提升 2.var允许重复声明变量,let不可以 3.const声明变量不可以被改变 二:字符串模板 用反引号创建字符串,其中可用${'变量'} console.log(`your name is ${name}`); 三:解构赋值对数组和对象的优化 四:箭头函数 与普通函数的区别 1.书写上用=>代替了function 2.普通函数的this指向window 而ES6…
Javascript的默认对象表示方式 {} ,即一组键值对. 但是Javascript的对象有个小问题,就是键必须是字符串.但实际上Number或者其他数据类型作为键也是非常合理的. 为了解决这个问题,最新的ES6规范引入了新的数据类型Map. 1.Map ES6新增了Map数据结构,Map对象保存键值对,任何值(原始值或对象)都可以作为一个键或一个值. Map是一组键值对,有key 也有value. 初始化Map需要一个二维数组,或者直接初始化一个空Map. Map具有以下方法: set ,…
ES6新增的常用数组方法 let arr = [1, 2, 3, 2, 1]; 一 forEach => 遍历数组 arr.forEach((v, i) => { console.log(v, i); }); 二 map => 使用一个数组, 利用某规则映射得到一个新数组 let mapArr = arr.map((v, i) => { return v * v; }); arr.map((v, i) => v * v); // 如果只有一句话, 可以省略大括号和return…
Map需要一个二维数组 var test_map = new Map(["mians",99],["regink",88]) test_map.get("mians") //返回99 test_map.set("mians", 77) //修改值 test_map.has("mians") //检测包含key test_map.delete("mians") //删除元素 Set保存ke…
声明命令 1. let命令 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效.下面代码在代码块之中,分别用let和var声明了两个变量.然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确的值.这表明,let声明的变量只在它所在的代码块有效. 1 2 3 4 5 6 {   let a = 10;   var b = 1; } console.log(b); // 1 console.log(a); /…
1.let ES6中新增的用于声明变量的关键字. let 声明的变量只在所处于的块级有效. 注意:使用 let 关键字声明的变量才具有块级作用域,var 关键字是不具备这个特点的. 1. 防止循环变量变成全局变量. 2. 不存在变量提升 3. 暂时性死区 if(true){ let a=10; } console.log(a); // a is not defined //防止循环变量变成全局变量 for(var i=0;i<2;i++){ } console.log(i); // i=2(只有…
目录 1. 变量的定义 let const 2. 模版字符串 3. 数据解构 4. 函数扩展 设置默认值 箭头函数 5. 类的定义 class 6. 对象的单体模式 "@ ES6新增了关于变量的定义,函数扩展,数据结构,类,模块等概念,本文将详细介绍常用的ES6语法. *** 1. 变量的定义 let ES6中新增了let语法,用来声明变量,用法类似var. ==let定义的变量只在当前代码块内有效.== 如下示例: <script> if (true) { var username…