参考: http://es6.ruanyifeng.com/

总结学习

JavaScript语言下一代标准,2015年6月正式发布。

1.let和const命令

let用作变量声明,只在代码块内有效

{let a = 1} console.log(a) //Error

可用于for循环

var a=[];
for(var i=0;i<10;i++){
  a[i]=function(){
    console.log(i);
  }
}
a[6](); //10

let方法

var a=[];
for(let i=0;i<10;i++){
  a[i]=function(){
    console.log(i);
  }
}
a[6](); //6

不过let不存在变量提升,不允许重复声明

const命令,常量声明,一旦声明不允许修改,声明的时候需要理解初始化,

2.字符串的扩展

at() ES5提供chartAt方法返回字符串给定位置的字符,该方法不能识别码点大于0xFFFF的字符。at方法,可以识别Unicode编号大于0xFFFF的字符,返回正确的字符。

 repeat() 方法返回一个新字符串,表示将原字符串重复n次。

3.数值的扩展

Number.isFinite()用于检查一个数值是否为有限的

Number.isNaN() 用于检查一个值是否为NaN

Number.isInteger()用来检查一个值是否为整数

Number.EPSILON 新增了一个极小的常量

Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER 新增数值上下限

Math.trunc方法用于去除一个数的小数部分,返回整数部分

Math.sign() 方法用来判断一个数到底是整数、负数、还是零

Mah.cbrt() 方法用于计算一个数的立方根

4.数组的扩展

Array.from() 对象用于将类数组或可遍历的对象 转为真正的数组

Array.of()用于将一组值转为数组  Array.of(1,22,33) //[1,22,33];

find() 方法用于找出第一个符合条件的数组成员

findIndex() 方法用于返回第一个符合条件的数组成员的位置

fill() 方法使用给定值填充一个数组

5.函数的扩展

Object.is()比较两个值是否相等

Object.assign()用于对象的合并

6.Module

export命令用于规定模块的对外接口

import命令用于输入其他模块提供的功能

export default命令为模块指定默认输出

7.set

set:类似于数组,成员值唯一,本身是构造函数,用于生成set数据结构

var s = new Set();
            s.add(3);
            s.add(4);
            s.add(3);
            console.log(s); //Set {3, 4}

通过add方法添加成员,结果set结构不会出现重复的值

     var arr = [1,1,2,4,6,8,6];
            var setArray = new Set(arr);
            console.log(setArray); //Set {1, 2, 4, 6, 8}
            console.log(setArray.size) //5

set能接受数组作为参数,利用set去掉数组的重复成员 :[...new Set(array)]

set结构的属性 1,Set.prototype.constructor 构造函数默认set 2,Set.prototype.size 返回Set实例的成员总数

set结构的方法

1,add() 添加某个值,返回set结构本身。

2,delete() 删除某个值,返回一个布尔值,表示删除是否成功

3,has() 返回一个布尔值, 表示该值是否为Set成员

4,clear() 清除所有成员,没有返回值

     var setOpa = new Set();
            setOpa.add(2);setOpa.add(3);
              console.log(setOpa); //Set {2, 3}
            setOpa.delete(2);
              console.log(setOpa) //Set {3}
              console.log(setOpa.has(3)) //true
              console.log(setOpa.has(2)) //false
            setOpa.clear();
              console.log(setOpa);//Set {}

Array.from方法可以将set结构转为数组

     var setArrTran = new Set([1,1,4,3,5]);
            console.log(Array.from(setArrTran)); //[1, 4, 3, 5]

遍历操作: keys() 返回键名的遍历器, values()返回键值的遍历器, entries()返回键值对的遍历器, forEach() 使用回调函数遍历每个成员

    var setFor = new Set([1,2,4]);
            setFor.forEach((value,index) => {
                console.log(value * 2);
            });

       //2

     //4

//8

7.Map

map:类似对象,也是键值对的集合,但是键名的范围不限于字符串, 其他和Set类似

参考: http://es6.ruanyifeng.com/

ES6 语法简介的更多相关文章

  1. ES6常用语法简介import export

    ES6常用语法简介import export let与var用法区别 //var var a = []; for (var i = 0; i < 10; i++) { a[i] = functi ...

  2. freemarker语法简介

    ftl是一种模板标记语言,用于渲染数据,输入html结构.语法简介如下: ${book.name} ${book.name?if_exists} //值是否存在 ${book.name??} //值是 ...

  3. es6语法重构react代码

    1.使用React.Component创建组件,需要通过在constructor中调用super()将props传递给React.Component.另外react 0.13之后props必须是不可变 ...

  4. Android系统Recovery工作原理之使用update.zip升级过程---updater-script脚本语法简介以及执行流程(转)

    目前update-script脚本格式是edify,其与amend有何区别,暂不讨论,我们只分析其中主要的语法,以及脚本的流程控制. 一.update-script脚本语法简介: 我们顺着所生成的脚本 ...

  5. vue 2.0 无法编译ES6语法

    # vue2.0 webpack 无法编译 ES6 语法 之前在使用 vue 1.x 时用 vue-loader@8.0.0 版本可以正常打包vue的代码,包括ES6语法也能正常转为ES5语法,但是当 ...

  6. 把JavaScript代码改成ES6语法不完全指南

    目录 * 核心例子 * 修改成静态变量(const)或块级变量(let) * 开始修改 * 疑问解释(重复定义会发生什么) * 疑问解释(let的块级作用域是怎样的) * 疑问解释(const定义的变 ...

  7. 让intellij idea 14 支持ES6语法

    用eclipse做前端开发,用到了webpack,结果各种依赖导致软件卡的一比,简直不能动!虽然在同事的帮忙下,修改了一下配置,但仍然卡的没脾气.改用intellij idea 14解决了卡的问题,但 ...

  8. .vue文件在webstorm中es6语法报错解决方法

    1 语法支持es6设置 Preferences > Languages & Frameworks > JavaScript 把 Javascript Language versio ...

  9. webpack打包不识别es6语法的坑

    今天Vue项目npm run build 后webpack,报错uglifyjs,自己研究了一下,翻译过来,意思是不识别项目中写的高级语法,这里要把项目里es6语法转es5让浏览器识别, 也就是web ...

随机推荐

  1. 字符串匹配算法之Rabin-Karp算法

    关键思想在于把输入的字符既看作图形符号,又看做数字,预处理算出模式P的d进制的值p,时间复杂度为Θ(m),让后针对n - m + 1个有效偏移s计算出相应的ts,这里是由于利用ts来计算ts+1,时间 ...

  2. linux中shell变量$#,$@,$0,$1,$2的含义解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释 linux中shell变量$#,$@,$0,$1,$2的含义解释:  变量说明:  $$  Shell本身的PID(ProcessID ...

  3. orczhou----MYSQL

    https://yq.aliyun.com/users/1597777588650149?spm=5176.blog11192.yqblogcon1.2.5mdGQb

  4. Media Player框架

    导入MediaPlayer.framework框架. //声明一个媒体播放器 var moviePlayer:MPMoviePlayerController? @IBAction func playM ...

  5. C#基础篇02

    首先:一个完整的方法是包括两部分的,代码和注释!!!! 程序的调试: 3:设置断点:  断点之前的程序已经确保正确,可是在断点后的部分可能出现错误,所以设置完断点后,直接点击启动,然后按F11逐步棸的 ...

  6. 实现一个脚本语言Raven(一)

    之前实现了Raven语言的0.1版,仅仅支持表达式处理与控制语句,由于不支持数组.函数.类,甚至都不是图灵完全的语言. 现在参考vczh的博客打算重新写一遍Raven语言.陈祖不愧是神啊,高中就写出支 ...

  7. Asp.net日期字符串格式化显示

    我们经常会遇到对时间进行转换,达到不同的显示效果,默认格式为:2006-6-6 14:33:34 如果要换成成200606,06-2006,2006-6-6或更多的格式该怎么办呢?这里将要用到:Dat ...

  8. 在 APK 中找不到对应的 securityguard***.so 文件或者 so 文件载入出错

    1.解压查看你的apk是不是将so打进去了,如果没有打进入查看自己的jnilibs是否指定 2.查看手机是否是64的手机.因为百川的安全包没有64的支持,所以目前是以兼容包的形式给的包.如果第三方有6 ...

  9. 不允许对索引显式地使用 DROP INDEX,该索引正用于 UNIQUE KEY

    [转载]http://blog.csdn.net/w87875251l/article/details/7929657 不允许对索引显式地使用 DROP INDEX,该索引正用于 UNIQUE KEY ...

  10. sql 常用操作脚本代码

    ,--运行fy_mh库[use] use fy_mh ,--查询 mh_dblj表 select * from mh_dblj ,--更新 某个字段(把表的某个字段下的所有的数据清空)[update ...