ECMA6新增语法(待续...)

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

1 let关键字数组

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

    特色:不在进行声明提高,在块做用域外没法访问变量,和const同样只能声明一次.函数

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

//var 声明的变量做用在定时器外的函数里的
for(var i=0; i<5; i++){ 
   setTimeout(function(){ 
       alert(i); 
   },1000);
}

//由于let以花括号做为做用域,for每次循环的时候都会从新let一个变量 理解let在for循环中:https://zhuanlan.zhihu.com/p/51966830
//let变量做用在括号,且外部没法访问 
for(let i=0; i<5; i++){ 
   setTimeout(function(){ 
       alert(i); 
   },1000);
}

 

2 const声明常量spa

      做用:定义一个常量.net

      特色:不会声明提高,以块为做用域,值没法更改,只能声明一次.指针

//将对象设置为常量,它的值是能够修改的
//由于咱们常量的值,只是在栈内存中保存的指向对象的指针 数据类型的栈和堆内存:http://www.javashuo.com/article/p-wsixnxkc-hr.html
const obj = {a:1,b:2,c:3}
obj.a = 100;
console.log(obj.a); //10

 

3 箭头函数code

     做用:经过简洁的格式声明一个函数htm

  特色:比传统函数格式简洁(省略了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集合,即映射

相关文章
相关标签/搜索