一.ES6的新增

  1. 新增了canvas 绘画视图
  2. 新增了定义class的语法糖
  3. 函数的新增了箭头函数、函数参数的默认值
  4. 数组实例新增了 keys(),values(),entries()
  5. 新增了基本数据类型(symbol)
  6. 变量的解构赋值
  7. 新增了Map数据结构 和 Set数据结构
  8. 新增了模块化(import/export)
  9. 数组和对象新增了扩展运算符
  10. 数组新增了一些API接口 例如 api/app
  11. 新增了generator(生产器) 和 iterator(遍历器)
  12. 块级作用域(let,const)
  13. Object.assign()
  14. 新增了模板字符串

二.常用的es6方法

1. 箭头函数,函数参数的默认值

 let arr=[1,2,3,4,5,6,7,8,9,10]arr.forEach((i,k)=>{console.log('箭头函数')})function log(x,y=10)=>{ //默认值 没有传递参数的时候使用默认值 如果传递参数就使用传递的参数console.log(x,y)}log(5)

2.解构赋值

  1. 数组方式
 let [a,b,c] = [1,2,3] //a=1,b=2,c=3let [a,b,c] = [1,2] //a=1,b=2,c=undefinedlet [a,b,c] = [1,2,3,4,5,6,7] // a=1,b=2,c=3let [a,b,[c]] = [1,2,3,4,5,6,7] // a=1,b=2,c=3let [a,b,[...c]] = [1,2,3,4,5,6,7] // a=1,b=2,c=[3,4,5,6,7]let [a,b,c=7] = [1,2] // a=1,b=2,c=7 没有赋值就使用默认值
  1. 对象方式
 let {a:a,b:b} = {a:10,b:30} // a=10,b=30let {a:a,b:b} = {b:10,a:30} // a=30,b=10let {a,b} = {a:10,b:30} // a=10,b=30let {a:c,b:d} = {a:10,b:30} // a=10,b=30let {c,d} = {a:10,b:30} //c=undefined,d=undefined
  1. 对象的嵌套使用
 let obj={p:['hello',{x:'world'}]}let {p:[a,{x:b}]} = objlet {p:[a,{x}]} = objconsole.log(a,b) //a=hello b=worldconsole.log(x) //x=worldlet obj={p:['hello',{x:'world'}]}let {p:[a,{b}]} = objconsole.log(b) //undefined
  1. 默认值
 let {a:y=20} ={b:10}console.log(y) //20let {a:y=20} ={b:10,a:11}console.log(y) //11var {foo: {bar}} = {baz: 'baz'};foo //报错
  1. 字符串方式
 let [a,b,c,d,e] = 'hello'console.log(a,b,c) // h e llet [a,b,[...c]] = 'hello'console.log(a,b,c) // h e [llo]

3.块级作用域(let,const)

  1. 什么是let呢?

    let和var差不多,都是用来声明变量的。区别就在于:
    1、 let声明的变量只在所处于的块级有效;
    2、 let没有‘变量提升’的特性,而是‘暂时性死区(temporal dead zone)特性。

  2. let声明的变量只在所处于的块级有效;

 'use strict';function func(args){if(true){//let声明ilet i = 6;//在if内打印i值console.log('inside: ' + i);}//在if外,再次打印i值console.log('outside: ' + i);};func();
  1. let没有‘变量提升’的特性,而是‘暂时性死区(temporal dead zone)特性。
 'use strict';function func(){//在let声明前,打印iconsole.log(i);let i;};func();

const命令:

  1. const命令与let命令一样,声明的变量,其作用域都是块级。

所以const遵循的规则与let相差无二,只是,const是用来声明恒定变量的。

且,用const声明恒定变量,声明的同时就必须赋值,否则会报错。

 'use strict';function func(){const PI;PI = 3.14;console.log(PI);};func();

ES6新增,常用的方法相关推荐

  1. ES6新增的数组方法

    本文整理ES6"新增"的 map方法.filter方法.some方法.every方法.reduce方法 一.map()方法 给数组的每个元素做特殊的处理 返回一个新的数组 例1 给 ...

  2. js中ES6新增的数组方法reduce(),和数组去重,降维。

    js中ES6新增的数组方法reduce() js数组reduce()详解 基本概念: reduce()方法接收一个函数作为累加器,数组中的每一值(从左到右)开始缩减,最后成为一个值 reduce()为 ...

  3. js进阶高级与ES6,常用函数方法

    ES6与高级 2021.9.11 class类的使用 类的本质就是function函数 在ES6中声明类用class关键字 ES6中类没有变量提升,所以必须先定义类,才能实例化对象 类里面的共有属性和 ...

  4. es6 新增 常用 语法 知识点 汇总

    ## let关键字 定义一个变量 特征: 1.不能重复声明 2.块级作用域 3.不存在变量提升 4.暂存死区 ## const关键字 定义一个常量 特征: 1.const关键字定义的值不能修改 2.不 ...

  5. ES6 新增数组的方法使用介绍

    ES5中新增了写数组方法,如下: forEach (js v1.6) map (js v1.6) filter (js v1.6) some (js v1.6) every (js v1.6) ind ...

  6. 总结: 数组常用的方法

    在实际开发当中, 数组和对象使用到最多的; 数组和对象有很多的方法, 这里主要探讨一下: 数组的增删改查 数组的排序方式 数组转换成其他数据类型的方式 ES6数组新增常用的迭代方式 为什么需要数组? ...

  7. es6新增数组、数组去重、es6新特性

    ES6新增的数组方法 1.forEach forEach()会遍历数组, 循环体内没有返回值,forEach()循环不会改变原来数组的内容, forEach()有三个参数, 第一个参数是当前元素, 第 ...

  8. ES6新增数据类型符号(1):普通符号

    在编程时,我们会遇到某些属性,我们不需要或者不想要别人访问它,即需要设置私有属性,如下例,我们不需要在外部获取getRandom这一属性 const game = {attack: 30, //攻击力 ...

  9. js中数组常用的方法总结,包括ES6

    原文地址:js中数组常用的方法总结,包括ES6 1.push() 后增 push()方法可以向数组后添加一个新的元素,并返回新数组的长度. 末尾添加,返回长度,改变原数组 var a = [1,2,3 ...

最新文章

  1. PDF文件合并使用什么工具
  2. 关于ubuntu启动项默认的修改以及chmod命令的使用
  3. 聊一聊 Redis 数据内部存储使用到的数据结构
  4. 《MySQL—— 业务高峰期的性能问题的紧急处理的手段 》
  5. django小结191107
  6. pg批量插入_在PostgreSQL中批量/批量更新/提升
  7. Pytho——装饰器五大实例
  8. 如何在Mac上自定义文件和文件夹图标?看这里
  9. Win11有几个版本 Windows 11各版本区别对比
  10. Access to Image at 'file:///Users canvas本地图片跨域报错解决方案
  11. 知钱俱乐部 php,知钱俱乐部
  12. 还在纠结程序员能不能干一辈子吗?有答案了!!
  13. [递推] 51Nod1383 整数分解为2的幂
  14. 2023年Java面试题大全(最新版版)面试题附答案详解,看完BTA可进
  15. Mysql(Innodb)如何避免幻读
  16. ubuntu18添加中文输入法
  17. 区块链在中国怎么练?
  18. AVAYA-RTX统一通信解决方案
  19. Apple App Store 音乐App 美国畅销榜单前30名使用记录
  20. 基于qt开发的智能系统:电子相册,监控摄像头模块,音乐播放器,视频播放器,电子时钟

热门文章

  1. 解决MySQL导入数据量大速度慢问题
  2. jquery对元素隐藏的操作
  3. 企业网管软件之SOLARWINDS实战-基于浏览器的网络流量监控
  4. Teamviewer 14 破解【检测商业用途,5分钟限制】 for macOS Mojave 10.14
  5. mybatis 事务开启
  6. 封印之门 转换为图 最短路floyd
  7. RxJava flatMap使用
  8. 男子马云性格与星座关系(转)
  9. 海门区高一历史学科教研活动在我校举行
  10. 潭州课堂25班:Ph201805201 mongo数据 库 第八课 (课堂笔记)