1、let/const

1)作用域:es5中有全局作用域、函数作用域。es6中新增了块级作用域

2)let定义的变量在所在块级作用域外失效,严格模式下失效后直接报错,

且不允许重复声明同名变量

3)const用于声明常量,声明时必须赋值,也是在块级作用域下有效

2、解构赋值

1) 数组解构赋值

包含默认值的写法

{let a,b
[a=0,b]=[1,2]}
 
{let a,b,arr
[a,b,...arr]=[1,2.3,4,5,6]
//a=1,b=2,arr=[3,4,5,6]

2)对象解构赋值

包含默认值的写法

{let a,b=6

{a,b}={a:1,b:2 }

}

3)使用场景

变量交换

函数以数组、对象为返回值

选择性接收数据

下图输出1 4

取返回数组首项

a=1 b=[3,4,5]

只要两边能匹配,都能解构赋值

3、字符串扩展

1)unicode编码

0XFFFF是unicode单字符编码的最大范围

若想输出编码值大于0xffff的

用大括号包裹即可;

2)unicode编码处理新方法

3)字符串新方法

判断某字符串中是否包含某字符,返回布尔值:

.includes(''char")

判断某字符串是否已某字符或字符串开头(结尾)

.startsWith()

.endsWith()

重复n次字符串

.repeat(n)

不足自动在首尾补齐

.padStrat(length,'char')

.padEnd(length,'char')

4)模板字符串

用反引号包裹,让我们更优雅地拼接变量和字符串

变量用${}进行包裹

5)标签模板

4、数值扩展

1)

Number添加了许多静态方法

isFinite() 判断是否有尽

isNaN() 判断是否不是数字

isIntegeger()判断是否整数

2)

取整

Math.truc(num)

判断正负,返回+/-1 0 NaN

Math.sign(num)

5、数组扩展

1)Array

不管元素的类型,返回由参数组成的数组实例

Array.of(arg1,arg2,...)

把伪数组和集合转换成真正的数组

Array.from(fakeArr)

返回一个新数组,其元素经过callback处理

Array.from(arr,callback)

2)

填充数组,把数组内元素全部换为char

arr.fill(subchar)

指定替换范围的索引

arr.fill(subchar,start,end)

3)keys/values/entries

arr.keys()

返回arr下标(索引)的集合

arr.values()

返回元素值集合

arr.entries()

返回索引及元素

arr.find/findIndex(function)

前一个返回符合条件的第一个数组元素

或者返回第一个符合条件的索引

arr.inclues(char)

数组中是否包含某值,完全相等,返回布尔类型

6、函数扩展
1)默认值

function test(x,y='hello'){...}

test('you')

默认值后面不可以有没有默认值的变量

2)作用域

输出kill kill

注意作用域,在函数定义内部先找

3)rest

...arg

类似arguements,将未知的实参合为一个数组

4)扩展运算符

rest的逆运用

...arr

将数组按元素拆成离散的值

5)箭头函数

匿名函数的新定义方式

(参数1,参数2,...)=>{函数体}

简写,只有一个参数时,只有一句返回值的语句

参数=>返回值语句

无参

()=>返回值语句

6)伪调用

某个函数返回另一个函数的调用

7、对象扩展

1)键的省略

2)属性表达式

在es5中我们的属性名总是一个固定的值,在es6中,我们

可以使用表达式来作属性名了,用中括号包裹即可

var obj={

['a'+'b']:5

}

3)新增api

Object.is(obj1,obj2)

判断两个对象是否相等,是严格相等

Object.assign(obj1,obj2)

拷贝属性,浅拷贝。继承属性及不可枚举的属性不可拷贝

es6冲刺01的更多相关文章

  1. es6冲刺02

    1.Symbol es6新增的数据类型 1)概念 提供一个独一无二的值 let a=Symbol() let b=Symbol() 或 let c=Symbol.for('c') let d=Symb ...

  2. ES6笔记01

    一.ECMAScript 6 ECMAScript 6.0,简称ES6,第一个版本是在2015年6月进行发布,所以也称之为<ECMAScript 2015 标准>(简称 ES2015). ...

  3. [ES6系列-01]Class:面向对象的“新仇旧恨”

    [原创]CoderPower 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 这是公众号(码路工人有力量)开通后的第二篇,写得还是有待改进吧.这次准备写一个关于ES6基础的短文系列,努力尽快 ...

  4. ajax项目冲刺01

    1.模板引擎 1)模板+数据=>静态页面片段 2)art-template性能较好 分支语法: {{if value}} ... {{/if}} {{if v1}} ... {{else if ...

  5. 在AngularJS中使用ES6

    本篇记录一些AngularJS结合使用ES6的各种写法. ES6中module的导出导入 class MainController { constructor(searchService){ this ...

  6. 01 | let 和 const语法 | es6

    01 | let 和 const语法 ES6新增了let命令,用来声明变量.它的用法类似于var,但也有区别 let 和 var 1.作用范围不同 var声明的变量在全局范围内都有效,所以全局只有一个 ...

  7. 01快速入门-04-Map、Set和iterable(ES6)

    1.Map 我们知道,在JS中其实对象的方式就跟Java中的Map极为相似,即键值对的方式.JS中,key必须是字符串,实际上Number等值作为key也是合理的,所以为了解决这个问题,在最新的ES6 ...

  8. 01 node.js,npm,es6入门

    Node.js安装 1.下载对应你系统的Node.js版本: https://nodejs.org/en/download/ 命令提示符下输入命令 node -v 会显示当前node的版本 快速入门 ...

  9. [ES6] 01. Intro to ES6 and traceur compiler

    ---恢复内容开始--- ES6 is ECMAScript version 6, which JavaScript is based on. The next version of JavaScri ...

随机推荐

  1. JMeter执行压测输出HTML图形化报表(一)

    一.应用场景 1.无需交互界面或受环境限制(linux text model) 2.远程或分布式执行 3.持续集成,通过shell脚本或批处理命令均可执行,生成的测试结果可被报表生成模块直接使用,便于 ...

  2. .net core cookie登录和session的 DataProtectionProvider 加入 redis

    string redisConnectionString = Configuration.GetSection("Storage:Redis").GetValue<strin ...

  3. 自动驾驶系统 bfs

    一家科技公司有一块试验地用于测试自动驾驶系统.试验地由n×m个格子组成,从上到下依次编号为第1到n行,从左到右依次编号为第1到m列.试验车位于其中的某个格子上,每次自动驾驶系统可以控制汽车往上下左右移 ...

  4. quratz线程

    1.线程 在 Quartz 中,有两类线程,Scheduler 调度线程和任务执行线程,其中任务执行线程通常使用一个线程池维护一组线程. 2.调度线程 下面说明两种调度线程: Scheduler 调度 ...

  5. php(apache)切换版本

    php(apache)切换版本 1.brew link php@7.1 2.上两行写入 ~/.bash_profile文件 3.source ~/.bash_profile 4.sudo vi /et ...

  6. 斐波那契数列-java编程:三种方法实现斐波那契数列

    题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行 斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列 ...

  7. HDFS分布式文件系统的常用命令行操作

    一.HDFS的客户端种类 1.网页形式  =>用于测试 网址为你的namenode节点的ip+50070的端口号,如: 192.168.50.128:50070 2.命令行形式 =>用于测 ...

  8. Kafka命令行操作及常用API

    一.Kafka命令行操作 1.查看当前集群已存在的主题 bin/kafka-topic.sh --zookeeper hd09-01:2181 --list 2.创建主题 bin/kafka-topi ...

  9. python数据结构之插入排序

    插入排序(英语:Insertion Sort)是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,在从后向前扫描 ...

  10. c#取数据库数据 ---两种方法

    通常有以下两种方式 SqlDataReader 和SqlDataAdapter|DataSet方式 SqlDataReader 方式使用方式如下: using System; using System ...