一.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. Java最全文件操作实例汇总
  2. html设置页面大小_如何将Word文档页面大小设置为16开?
  3. Ubuntu 16.04设置Redis为开机自动启动服务
  4. 【Android 进程保活】提升进程优先级 ( 1 像素 Activity 提高进程优先级 | taskAffinity 亲和性说明 | 运行效果 | 源码资源 )
  5. webgl内置函数--通用函数
  6. Java的HTTP服务端响应式编程
  7. 目标检测算法图解:一文看懂RCNN系列算法
  8. 对我有利就契约,不利就废纸
  9. qt结合arcgis进行开发
  10. 通信原理笔记(樊昌信第七版)
  11. 如何利用家谱制作软件快速修谱录入
  12. 向flume发送消息出现Client sent event exceeding the maximum length
  13. iLife '09测评
  14. python股票技术指标计算,python股票量化交易(3)---趋势类指标MACD
  15. 华为OD机试 - 最短耗时(C++) | 附带编码思路 【2023】
  16. 腾讯云Web应用防火墙有什么用?Web应用防火墙是防御原理介绍
  17. OneDrive说明与OneNote的同步操作
  18. 用 JavaScript 实现手势库 - 实现监听逻辑【前端组件化】
  19. 微信小程序图片前端压缩(canvas)
  20. JavaWEB快速入门之验证码及课堂项目【04】

热门文章

  1. Android 音频采集(原始音频)
  2. 预计到2020年中东电商市场规模将增长40%以上
  3. 做好HR必读的人力资源书单推荐
  4. puzzle(0917)六宫数局
  5. 垃圾收集器必问系列—G1
  6. 告诉你不知道的—国内润滑油品牌大汇总
  7. springmvc+mybatis+shiro MD5加密匹配登录失败超次数锁定帐号
  8. RAII介绍及简单模板类
  9. web前端全栈0基础到精通(祺)js 10
  10. 深度学习中的消融实验指的是什么?