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. 期货大赛项目|四,MVC的数据验证

    上图先看下效果 样式先不说,先了解下数据验证是怎么实现的 一 必须是强类型的视图 二 这些显示提示的话语,都在强类型的实体中 三 必须使用Html.BeginForm或者Html.AjaxBeginF ...

  2. signal() 和 sigaction()

    [摘自<Linux/Unix系统编程手册>] Unix系统提供了两种方式来改变信号处置:signal() 和 sigaction(). signal() 的行为在不同Unix实现间存在差异 ...

  3. django 视图函数返回queryset对象或日期对象至浏览器ajax接收的写法

    class MyDateTimeEncode(json.JSONEncoder): def default(self, o): if isinstance(o, datetime): return o ...

  4. 027 ResourceBundle.getBundle方法

    在程序中遇到这个,感觉会比较重要,就学习一番. 一:静态读取配置文件的Demo 1.新建工程 2.新建properties 3.新建Java的demo程序 注意不要写properties. packa ...

  5. day64 url用法以及django的路由系统

    此篇博客是以备后查的,用到的时候记得过来查找即可! 路由系统:就是我们的django项目创建的时候自带的那个urls.py 它本身里面是映射的对应关系,一个大的列表里面,一个个元祖,元祖里面是url或 ...

  6. 在 Wiki 标记中添加无序列表

    项目:在 Wiki 标记中添加无序列表在编辑一篇维基百科的文章时,你可以创建一个无序列表,即让每个列表项占据一行,并在前面放置一个星号.但是假设你有一个非常大的列表,希望添加前面的星号.你可以在每一行 ...

  7. 怎样将一个Long类型的数据转换成字节数组

    直接上代码: //先写进去 long n = 1000000L; ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutpu ...

  8. php(apache)切换版本

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

  9. Java中 输入字符串的时候next()和nextLine()有什么区别

    假设有一段文本如下:abc def ghijkl mno pqr stuvw xyz 用next(),第一次取的是abc,第二次取的是def,第三次取的是ghij用nextLine(),第一次取的是a ...

  10. 【基础】Equal方法、面向对象-多态-继承-封装

    package Test; public class L3_1 { public static void main(String[] args) { C c1=new C(100); C c2=new ...