块级作用域:  ES6允许你使用块级作用域,不过目前大多数的ES6语法只允许在严格模式下使用("use strict” )。

1 let关键字

作用:声明变量,一个花括号就是一个作用域(每个花括号内就是全新变量).

特点:不在进行声明提升,在块作用域外无法访问变量,和const一样只能声明一次.

关键字:let , const,function,class ES6下都可以以块为作用域 借鉴:https://blog.csdn.net/kittyjie/article/details/50337031

 

//var 声明的变量作用在定时器外的函数里的
for(var i=; i<; i++){
setTimeout(function(){
alert(i);
},);
} //结果为:5 5 5 5 5 //因为let以花括号作为作用域,for每次循环的时候都会重新let一个变量 理解let在for循环中:https://zhuanlan.zhihu.com/p/51966830
//let变量作用在括号,且外部无法访问
for(let i=; i<; i++){
setTimeout(function(){
alert(i);
},);
}//结果为:1 2 3 4 5 

2 const声明常量

作用:定义一个常量

特点:不会声明提升,以块为作用域,值无法更改,只能声明一次.

//将对象设置为常量,它的值是可以修改的
//因为我们常量的值,只是在栈内存中保存的指向对象的指针 数据类型的栈和堆内存:https://www.cnblogs.com/liveoutfun/p/8962019.html
const obj = {a:1,b:2,c:3}
obj.a = 100;
console.log(obj.a); //

3 箭头函数

作用:通过简洁的格式声明一个函数

  特点:比传统函数格式简洁(省略了function,return,单个形参时括号),且this指向是上级函数的指向

 

//普通函数声明格式
var a = function(){
return 1+1;
}
//箭头函数声明格式
var a = x =>{
  1 + 1;
}
//多个参数
var a = (x,y,z) =>{
  1 + 1;
}

4 Destructuring解构

作用:可以通过解构方式来取值

//一般定义变量写法
var x=10,y=20,z=30; //解构赋值允许你给多个变量赋值
let [x,y,z] = [10,20,30];
let [x,[a,b],y] = [10,[15,18],20];
这并不是在定义数组,而是通过等号两边的结构匹配,进行赋值。 //解构赋值允许你少取一个值:
let [x,y] = [10,20,30]; //结果x=10,y=20
let [x,[a,b],y] = [10,[5],20]; //结果x=10,a=5,y=20,b=undefined
浏览器并不会报错,依然赋值成功。 //可以使用对象不按照顺序取值
var {id,name,age} = {name:'yt',age:30,id=30}
//用途
//可以方便的交换两个变量的值
[a,b] = [b,a];
//可以一次为多个变量取值
[a,b] = () =>{ return [1,2] }
//对象格式可以不考虑取值顺序
{a,b,c} = {b:1,a:2,c:3}
//从数组或对象的某一项
var {a:NewName} = obj; //对象
var [0:NewName] = arr; //数组

总结:数组格式的可以批量取值,对象格式的可以打乱顺序取值

5 字符串的一些方法

作用:ECMA6字符串可以更快捷的拼接字符串

//快捷的字符串拼接
var str = `我是ECMA${变量、表达式}字符串` //字符串中的换行不会报错
var str = `
不会报错!!
`

6 数组的一些方法

Array.from(伪数组)  //可以将伪数组转换为数组

 Array.copyWithin(被替换元素下标,截取开始下标,截取结束下标); //复制元素替换元素(一条龙服务)

 Array.find(function(value,index,arr){ return value > 10 })  //和过滤类似,只找一次符合条件的元素. 

findIndex(function(value, index, arr){}) //和find类似,不过返回的是符合一次要求的元素的下标

7 Object.assign

    Object.assign({a:1},{b:2},{b:4,c:3}); //将相同的属性合并,返回一个独立属性对象

8 第七种数据类型Symbol

9 Set和Map集合

10 Map集合,即映射

ECMA6新增语法(待续...)的更多相关文章

  1. ECMAScript简介以及es6新增语法

    ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...

  2. 面向对象编程-终结篇 es6新增语法

    各位,各位,终于把js完成了一个段落了,这次的章节一过我还没确定下面要学的内容可能是vue也可能是前后端交互,但无论是哪个都挺兴奋的,因为面临着终于可以做点看得过去的大点的案例项目了,先憋住激动地情绪 ...

  3. [JavaScript]ECMA-6 yield语法

    概述 yield关键字用于并且仅限于生成器函数(generator)内部,作用是暂停(并返回)/重启(可选修改该栈环境变量)该函数栈环境. 一般语法 调用生成器函数时返回一个可迭代对象,当调用该对象的 ...

  4. ES6新增语法和内置对象(let,const, Array/String/Set 扩展方法(解构赋值,箭头函数,剩余参数))

    1.let ES6中新增的用于声明变量的关键字. let 声明的变量只在所处于的块级有效. 注意:使用 let 关键字声明的变量才具有块级作用域,var 关键字是不具备这个特点的. 1. 防止循环变量 ...

  5. 【ES6新增语法详述】

    目录 1. 变量的定义 let const 2. 模版字符串 3. 数据解构 4. 函数扩展 设置默认值 箭头函数 5. 类的定义 class 6. 对象的单体模式 "@ ES6新增了关于变 ...

  6. ES6新增语法(一)——let、const、var的区别

    ES6简介 ES6是ECMAScript 6.0的简称,是javascript语言的下一代标准,已经在2015年6月正式发布上线.目的就是为了统一javascript的语法标准,可以用来开发大型应用程 ...

  7. 复习——高级语法对象原型,es5新增语法

    今天的开始进入了js的高级语法 我马上也要复习完了,之前学到闭包递归,就回去复习去了,复都复习这么久而且,复习的过程真的比学知识的过程难熬的多,只不过终于要复习完了,再来点es6的新语法马上就要步入v ...

  8. SQL Server 2012 新增语法

    --连接两个字符串. CONCAT(TelePhone,UserName,' : ',LoginVCode) FROM [dbo].[TB_NUsers] --SQL Server2012新增了两个逻 ...

  9. EAScript 2016的新增语法(1)

    1)let 语法,这个和var的声明类似,但是,只存在于其所在的代码块里. 举例: var x=1 console.log(x) { let x=2 console.log(x) } console. ...

随机推荐

  1. java.util.ConcurrentModificationException异常;java.util.ConcurrentModificationException实战

    写代码遇到这个问题,很多博客文章都是在反复的强调理论,而没有对应的实例,所以这里从实例出发,后研究理论: 一.错误产生情况 1 .字符型 (1)添加 public static void main(S ...

  2. oneinstack——证书更新

    如果你安装好 oneinstack 你的定时任务就会自动添加 "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh ...

  3. RMP和YUM软件安装

    1.卸载RPM包 rpm -e rpm包的名称 2.安装rpm包 rmp -ivh xxx.rpm 3.查询yum服务器是否有需要安装的软件 yum list|grep xxx软件列表 4.yum安装 ...

  4. 如何用<dl>标签做表格而不用table标签

    我们都知道很多的内容编辑器(TinyMCE编辑器.fck)都有插入表格功能,快速方便,但是这些表格用到的<table>标签,可以查看html源代码就能发现,table标签对搜索引擎不是很友 ...

  5. uniapp增加百度统计代码(h5)

    做了个微信公众号文章互相阅读的h5界面,http://mptask.wintp.top/(只能微信浏览器打开),其中用到了统计代码,记录如下. 1.新建 tj.html 界面 可放置在项目的根目录,文 ...

  6. 阿里巴巴java开发手册 注释规约

  7. Shell里的特殊符号

    Shell里的特殊符号: (1)单引号: 由单引号括起来的符号都作为普通字符处理,他们都失去了特殊意义. (2)双引号: 除美元符号($).倒引号.反斜线(\)仍保留特殊含义外,其余符号都作为普通字符 ...

  8. yugabyte 安装pg_hashids 扩展

    主要目的比较简单,就是测试下yugabyte 对于pg 扩展的支持,今天在测试plv8的时候发现有问题(以及提交issue了,很期待官方的解决) 所以测试下一个其他的扩展,看看是否像官方介绍的那样 环 ...

  9. 【JZOJ5739】【20190706】毒奶

    题目 有\(n\)个现实城市,另有\(n\)个幻想城市 原图中在现实城市存在\(m\)条边,在幻想城市存在\(m-1-n\)条边 一个排列是合法的当且进当显示城市 \(i\) 向幻想城市 \(p_i\ ...

  10. Java的策略和保护域

    参考文章: (1)java之jvm学习笔记十(策略和保护域) https://blog.csdn.net/yfqnihao/article/details/8271415