ES6新特性及其用法
Es6是什么:
ES6是ECMAScript 6的缩写简称,是javascript的核心语法,它是ECMAScript的第6个版本.2015 年 6 月,ECMAScript 6 正式通过,成为国际标准
1.说出至少5个ES6的新特性,并简述它们的作用。(简答题)
1、 let关键字,用于声明只在块级作用域起作用的变量。
2、 const关键字,用于声明一个常量。
3、 结构赋值,一种新的变量赋值方式。常用于交换变量值,提取函数返回值,设置默认值。
4、 Symbol数据类型,定义一个独一无二的值。
5、 Proxy代理,用于编写处理函数,来拦截目标对象的操作。
6、 for…of遍历,可遍历具有iterator 接口的数据结构。
7、 Set结构,存储不重复的成员值的集合。
8、 Map结构,键名可以是任何类型的键值对集合。
9、 Promise对象,更合理、规范地处理异步操作。
10、Class类定义类和更简便地实现类的继承。
**解构赋值:**
- 可以同时给多个变量赋值
- 不使用第三个变量的前提下也能交换两个变量的值
- 函数可以使用解构赋值的方式返回值同时可以给多个变量赋值
- 函数传参 function aa({name=“王五”,age}){} aa({age:“18”,name:“张三”}) 可以不用考虑顺序问题了
**模板字符串**
`` 可以换行定义,可以解析变量,空格回车会输出出来,变量通过{}解析,函数通过{函数名()}调用
symbol
Es6新增的数据类型
特点:
- 唯一的 不需要new 一般定义属性 和常量
- 不能使用for in
- 使用[]存储
- 取值的时候也要用[] 相同参数 Symbol() 返回的值不相等
class
- 使用class 定义的类 没有变量提升
- 使用extends 关键字继承
- 子类必须在constructor方法中调用super(name,age)方法用来新建父类的this对象
- 构造方法 constructor(){ this.name = name}
注意:
- 在类中声明方法的时候,千万不要给该方法加上function关键字
- 方法之间不要用逗号分隔,否则会报错
案例:
下面展示一些内联代码片
。
class aa{constructor(name,age){this.name = namethis.age = ageconsole.log(name) }``run(){alert('1111')}}
}class bb extends aa{constructor(name,age){//super 这个函数来重新定义父类里面构造函数的执行(注意要在构造函数内使用)super(name,age)}}
深拷贝和浅拷贝
- 数组和对象直接等号赋值的通常是浅拷贝 一个发生变化,另外一个也会跟着变,他只是指向另外一个地址
- 深拷贝 把里面的内容一个一个的复制出来,开一个新内存放进去,内存地址不一样,互不影响
新增数组方法:
下面的arr是自己定义的数组名
var arr=[]
- 1.indexOf: 检测数组或字符串中是否包含某个值,如果包含返回第一次查找到那个值所对应的下标,如果查不到返回-1
- 遍历数组(forEach)
arr.forEach(function(value,index,arr){参数1 数组里面对应的每个值参数2 数组里面的索引参数3 原数组})
- find(回调函数) 根据查找指定值,符合条件的,会返回出来这个值,返回第一值之后就会停止查找
var arr = new Array(1,2,34,454,555,'aaa');console.log(arr)console.log(arr.find(function(item){return item > 34})
- filter(回调函数)会把所有符合条件的值放到一个新数组中返回出来
console.log(arr.filter(item=> item>34))
- map(回调函数) 映射 把数组里面的每一个元素按照你传入回调函数里面的代码都执行一遍
var arr = new Array(1,2,34,454,555,'aaa');var newArr = arr.map(item=>item*2)console.log(arr)console.log(newArr)
- some(回调函数)有一个满足条件的就会返回true,都不满足会返回false,如果第一个就满足,有短路效果,就会停止循环不会在继续搜索
var arr= [10,11,12,13]var a = arr.some(aa=>aa>12)var a = arr.some(aa=>aa>14)console.log(a)
- every(回调函数) 必须每一个元素都符合条件才会返回true,同样有短路效果
var a = arr.every(aa=>aa>10) //false
ES6新特性及其用法相关推荐
- lsdyna如何设置set中的node_list_如何快速掌握es6+新特性及核心语法?
国庆刚刚结束,我们开始一波新的学习进程吧. ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.作为前端必备技能,我们来快速开始吧 接 ...
- ES6新特性----面试
ES6新特性 关键字 let关键字 const关键字 解构赋值 变量的解构赋值 数组的解构赋值 对象的解构赋值 字符串的解构赋值 数值和布尔值的解构赋值 函数参数的解构赋值 用途 模板字符串 箭头函数 ...
- 一文快速掌握 es6+新特性及核心语法
首先先祝各位节日快乐,好好去体验生活的快乐,在假期最后一天里,祝大家收获满满,同时抓住假期的尾巴,收割实用技能. 接下来我会总结一些工作中常用也比较核心的es6+的语法知识,后面又要慢慢开始工作之旅了 ...
- javascript ES6 新特性之 扩展运算符 三个点 ...
对于 ES6 新特性中的 ... 可以简单的理解为下面一句话就可以了: 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中. 作用类似于 Object.assign() ...
- ES6新特性(函数默认参数,箭头函数)
ES6新特性之 函数参数的默认值写法 和 箭头函数. 1.函数参数的默认值 ES5中不能直接为函数的参数指定默认值,只能通过以下的变通方式: 从上面的代码可以看出存在一个问题,当传入的参数为0或者 ...
- ES6新特性之了解ES6以及其发展历史
ES6 新特性 现在使用主流的前端框架中,如ReactJS.Vue.js.angularjs等,都会使用到ES6的新特性,作为一名高级工程师而言,ES6也就成为了必修课,所以本套课程先以ES6的新特性 ...
- es6 获取对象的所有值_前端开发必备 - ES6 新特性之 Set和Map数据结构
往期回顾: 前端开发必备 - ES6 新特性之 let 和 const 命令 前端开发必备 - ES6 新特性之 变量的解构赋值 前端开发必备 - ES6 新特性之 字符串的拓展 前端开发必备 - E ...
- html5 跳转参数不显示_HTML5、CSS3、ES6新特性总结
前言:HTML5.CSS3.ES6新特性,可以说是基础前端的面试的必考题了,以下是关于新特性的基本总结. HTML5: 语义化的区块和段落元素:<section>,<article& ...
- 尚硅谷es6新特性笔记
尚硅谷es6新特性笔记 一.let与const let的变量声明以及声明特性 const的变量声明以及声明特性 const.let.var 三者之间的区别 二.变量解构赋值 三.模板字符串 四.对象的 ...
最新文章
- 边坡稳定性分析软件slope/w用户指南_岩石边坡平面滑动(Planar Sliding)稳定性分析...
- MySQL超详细安装.zip【.zip和.msi安装包的区别及详细安装】和可视化软件SQLyog安装教程
- CSS 伪类选择器:如何使用 CSS3 伪类
- PHP实现各种经典算法
- UE4 左右立体参数
- 微信无连接服务器1.104,微信成语猜猜看太子少师答案汇总 太子少师1-104关攻略...
- C# Types Type Members
- Java 异常 (Exception) 剖析 与 用户自定义异常
- 面向对象课程第一次博客总结
- 坚持练字一年是什么样的体验?
- ansoft maxwell破解版下载v16 中文版 32bit 64bit 百度云盘分享下载链接目录点击下方链接下载即可获得
- FPGA课程设计——数字频率计
- PMP复习整理考点篇【9】--- 实施定性风险分析与实施定量风险分析
- Apple 850 订单EDI X12报文格式解析
- 少数民族高考成绩查询2021,2021少数民族高考加多少分?
- 离线地图for arcgis tpk
- Windows应用程序安装向导制作
- E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?(解决方法)
- Deepin linux安装五笔输入法
- 广西民族大学相思湖学院计算机考试,广西民族大学相思湖学院教务处,教务管理系统...