1.set的应用(去重)js标准内置对象

适用范围:String,Array(数字基本数据类型不可以)

set的方法:例子 var s = new Set(data)

  • 增加:  s.add(data)    和Array.push()一样
  • 长度: s.size    和Array.length一样
  • 删除: s.delete(data)
  • 判断: s.has(data) 和Array.includes()一样

作用:去重,并且返回一个set特定的数据格式

转化格式:set和nodeList(queryselectorAll)都是看起来像数组的数据

var a = Array.from(data) 可以将其转化为真正的数组(此方法可以把类数组转化为数组,浅拷贝)


2.let与const

  • let与const都只能声明一个变量一次(不能重复声明)
  • let和const的作用域只在花括号内(块级作用域)
for (let i = 0; i < 3; i++) { log(i) } log(i) // 结果是 undefined
  • const声明一个不可被赋值的变量(声明一个不希望被任何人修改的变量)
const a = 3
a = 4 // 报错 不能被修改 let a = 3
a = 4 //不报错

3.js标准内置对象Map

定义Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。

区别:和Object的区别就是它的key不必必须是字符串。可以是任何值

方法:var a = new Map()

  • 增加 s.set("name", "zhang")  和object.name = "zhang"一样
  • 拿到值  s.get("name")  和object.name一样

4.扩展符号(...传参数) 5数组解包

var a = [1, 2, 3]
log(...a)
// 1 2 3 可以把数组解开成单独元素 // 一行代码 多个赋值
var [a, b] = [1, 2]
// 一行代码交换变量值
[a, b] = [b, a] //数组解包加上扩展符号
[a,...b] =[1,2,3,4,5] //传参用上扩展符号
function c(a, ...b) {}
c(1,2,3,4,4)
//a = 1 b = [2,3,4,4]

6.对象解包

var obj = {name:"1",score:"2"}

var {name,score} = obj
//后面就可以访问到 name和score

对象增强模式

name = "zhang "
var a = {name}//当要赋值的key与外界的变量重名,可以省略velue值

7.默认参数值,可变参数传值

//传参用上扩展符号
function c(a, ...b) {}
c(1,2,3,4,4)
//a = 1 b = [2,3,4,4]

8.箭头函数

(参数)=>{语句}

9.新增方法includes

10.新增遍历方式forEach

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

array.forEach(function(currentValue, index, arr), thisValue)

1forEach只适用集合和数组的遍历,for适用复杂的场景遍历。

注意: forEach() 对于空数组是不会执行回调函数的。

第二季第十天 es6新特性新特性的更多相关文章

  1. ES6、7、8、9新语法新特性

    前言 如果你擅长这种扩散式学习方式,不妨再进一步温习一下整个 ES6 引入的新特性,笔者强烈推荐阮一峰老师的 ECMAScript 6 入门 一书. ES2018 引入的特性还太新,单在对 ES6 特 ...

  2. 深入浅出:了解JavaScript的ES6、ES7新特性

    参照阮一峰博客:http://es6.ruanyifeng.com/#README es6常见题:https://blog.csdn.net/qq_39207948/article/details/8 ...

  3. ES6的十个新特性

    这里只讲 ES6比较突出的特性,因为只能挑出十个,所以其他特性请参考官方文档: /** * Created by zhangsong on 16/5/20. *///    ***********Nu ...

  4. ES6 有什么新东西

    ES6 有什么新东西? 你可能已经听说过 ECMAScript 6 (简称 ES6)了.ES6 是 Javascript 的下一个版本,它有很多很棒的新特性.这些特性复杂程度各不相同,但对于简单的脚本 ...

  5. Big Data 應用:第二季(4~6月)台湾地区Game APP 变动分布趋势图

    图表简介: 该示意图表示了台湾地区第二季内所有Game APP类别的分布情形,经由该图表我们可以快速的了解到在这三个月内,哪类型的APP是很稳定:抑或者哪类型的APP是非常不稳定的. 名词解释: 类别 ...

  6. ES6的一些常用特性

    由于公司的前端业务全部基于ES6开发,于是给自己开个小灶补补ES6的一些常用特性.原来打算花两天学习ES6的,结果花了3天才勉强过了一遍阮老师的ES6标准入门(水好深,ES6没学好ES7又来了...) ...

  7. 一起做RGB-D SLAM 第二季 (一)

    小萝卜:师兄!过年啦!是不是很无聊啊!普通人的生活就是赚钱花钱,实在是很没意思啊! 师兄:是啊…… 小萝卜:他们都不懂搞科研和码代码的乐趣呀! 师兄:可不是嘛…… 小萝卜:所以今年过年,我们再做一个S ...

  8. 再造轮子之网易彩票-第二季(IOS 篇 by sixleaves)

    02-彩票项目第二季 2.封装SWPTabBar方式一 接着我们思考如何进行封装.前面已经将过了为什么要封装, 和封装达到的效果.这里我们主要有两种封装方式,分别是站在不同的角度上看待问题.虽然角度不 ...

  9. Eclipse相关集锦第二季

    Eclipse相关的问题第二季开始了,这些问题都是我平时遇到的,然后记录下来备忘,帮助到别人最好不过了. 1.Unable to execute dex: GC overhead limit exce ...

随机推荐

  1. hdu 1257 最少拦截系统 求连续递减子序列个数 (理解二分)

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  2. spark on yarn 安装笔记

    yarn版本:hadoop2.7.0 spark版本:spark1.4.0 0.前期环境准备: jdk 1.8.0_45 hadoop2.7.0 Apache Maven 3.3.3 1.编译spar ...

  3. 下载jQuery

    下载jQuery :https://jquery.com/download/ . 将下载好的文件放到项目中 引入到代码中 <script type="text/javascript&q ...

  4. 十二、CI框架之数据库查询

    一.在database文件中写明数据库相关信息 二.我们数据库中的表如图所示 三.在CI中查询数据库内容 四.在浏览器输出 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金 ...

  5. 《新标准C++程序设计》3.1.1-3.1.3(C++学习笔记5)

    构造函数 1.构造函数的概念和作用 (1)概念 构造函数就是一类特殊的成员函数,其名字和类一样,不写返回值类型(void也不可以写),可以有参数,可以重载. 如果定义类时没写构造函数,则编译器生成一个 ...

  6. DevOps专题|Lua引擎打造超轻量级客户端

    Lua 作为一门轻量级脚本语言,源码使用标准C语言发布,语法简洁,非常适合嵌入式.客户端.游戏等场景. Lua引擎语言特点 轻量级 源码简单,以lua最新版5.3.5为例,加上lua自身提供的lib库 ...

  7. MySQL-半同步复制原理实践

    参考文档: http://mysql.taobao.org/monthly/2017/04/01/ 阿里内核月报半同步复制的数据一致性 https://www.cnblogs.com/ivictor/ ...

  8. shell下32位随机密码生成

    最简单的两个  参考 zzx@zzx120:~$ date | md5sum|cut -c1-790cdbd8 zzx@zzx120:~$ echo  `< /dev/urandom tr -d ...

  9. C/C++学习笔记-gcc动态库及静态库

    gcc工作流程 1.预处理 gcc -E 2.编译 gcc -S 3.汇编 gcc -c 4.链接 没参数制作静态库: 1.命名规则:libMyName.a2.制作步骤: ①.生成.o gcc -c ...

  10. selenium破解人人登陆验证码

    from selenium import webdriverfrom PIL import Imagefrom chaojiying import Chaojiying_Clientimport ti ...