第二季第十天 es6新特性新特性
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新特性新特性的更多相关文章
- ES6、7、8、9新语法新特性
前言 如果你擅长这种扩散式学习方式,不妨再进一步温习一下整个 ES6 引入的新特性,笔者强烈推荐阮一峰老师的 ECMAScript 6 入门 一书. ES2018 引入的特性还太新,单在对 ES6 特 ...
- 深入浅出:了解JavaScript的ES6、ES7新特性
参照阮一峰博客:http://es6.ruanyifeng.com/#README es6常见题:https://blog.csdn.net/qq_39207948/article/details/8 ...
- ES6的十个新特性
这里只讲 ES6比较突出的特性,因为只能挑出十个,所以其他特性请参考官方文档: /** * Created by zhangsong on 16/5/20. */// ***********Nu ...
- ES6 有什么新东西
ES6 有什么新东西? 你可能已经听说过 ECMAScript 6 (简称 ES6)了.ES6 是 Javascript 的下一个版本,它有很多很棒的新特性.这些特性复杂程度各不相同,但对于简单的脚本 ...
- Big Data 應用:第二季(4~6月)台湾地区Game APP 变动分布趋势图
图表简介: 该示意图表示了台湾地区第二季内所有Game APP类别的分布情形,经由该图表我们可以快速的了解到在这三个月内,哪类型的APP是很稳定:抑或者哪类型的APP是非常不稳定的. 名词解释: 类别 ...
- ES6的一些常用特性
由于公司的前端业务全部基于ES6开发,于是给自己开个小灶补补ES6的一些常用特性.原来打算花两天学习ES6的,结果花了3天才勉强过了一遍阮老师的ES6标准入门(水好深,ES6没学好ES7又来了...) ...
- 一起做RGB-D SLAM 第二季 (一)
小萝卜:师兄!过年啦!是不是很无聊啊!普通人的生活就是赚钱花钱,实在是很没意思啊! 师兄:是啊…… 小萝卜:他们都不懂搞科研和码代码的乐趣呀! 师兄:可不是嘛…… 小萝卜:所以今年过年,我们再做一个S ...
- 再造轮子之网易彩票-第二季(IOS 篇 by sixleaves)
02-彩票项目第二季 2.封装SWPTabBar方式一 接着我们思考如何进行封装.前面已经将过了为什么要封装, 和封装达到的效果.这里我们主要有两种封装方式,分别是站在不同的角度上看待问题.虽然角度不 ...
- Eclipse相关集锦第二季
Eclipse相关的问题第二季开始了,这些问题都是我平时遇到的,然后记录下来备忘,帮助到别人最好不过了. 1.Unable to execute dex: GC overhead limit exce ...
随机推荐
- 使用docker快速体验kali linux
环境 运行在 64位 机器 企业版的 win10 系统 下载镜像 首先搜索docker download 去官网下载docker:https://www.docker.com/products/doc ...
- com.alibaba.druid.pool.DruidDataSource
https://www.cnblogs.com/wuyun-blog/p/5679073.html DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PR ...
- 为什么vue中的data用return返回
1.为什么在项目中data需要使用return返回数据呢? 不使用return包裹的数据会在项目的全局可见,会造成变量污染:使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件. 当一 ...
- 20180122 PyTorch学习资料汇总
PyTorch发布一年团队总结:https://zhuanlan.zhihu.com/p/33131356?gw=1&utm_source=qq&utm_medium=social 官 ...
- Mybatis报错——Mapped Statements collection already contains value for
解决办法: 看看你的mybatis-config.xml <mappers> <mapper resource="mapper/SeckillDao.xml&quo ...
- HZNU-ACM寒假集训Day8小结 最小生成树
最小生成树(无向图) Kruskal 给所有边按从小到大排序 形成环则不选择(利用并查集) P1546 最短网络 https://www.luogu.com.cn/problem/P1546 #i ...
- 工程日记之HelloSlide(3):如何使用Core Data数据库,以及和sqlite之间的对应关系
Core Data 和 SQLite 是什么关系 core data是对sqlite的封装,因为sqlite是c语言的api,然而有人也需要obj-c的api,所以有了core data ,另外,co ...
- code force 1228C
算是一题普通数论+思维题吧. 大概很多人是被题意绕晕了. 思路: 首先常规操作求出X的质因子. 然后题目要求的是,X的每个质因子p,在g(i,p)的连乘.i∈[1,n]: 我们转换下思维,不求每一个g ...
- 零基础程序员入门Linux系统 !如何快速恢复系统?
新手在学习Linux系统的时候,难免会遇到命令输错,或系统出错的难题.那么如何快速解决呢?本文就先给你一个后悔药,让你快速备份并恢复Linux系统.本文将以Ubuntu为例,在这之前,你需要一台服务器 ...
- 干货 | 快速实现数据导入及简单DCS的实现
干货 | 快速实现数据导入及简单DCS的实现 原创: 赵琦 京东云开发者社区 4月18日 对于多数用户而言,在利用云计算的大数据服务时首先要面临的一个问题就是如何将已有存量数据快捷的导入到大数据仓库 ...