es6常用功能


1、let/const

 let定義變量,可以被重新賦值。const定義常量,不能被重新賦值。

2、解構賦值

   解構賦值就是:按照一定的模式從數組或對象中取值,對變量進行賦值的過程。

注:
1.使用解構賦值,將會使等效的代碼變得更加簡潔並且可讀性更高; 2.本質上,解構賦值屬於一種“模式匹配”、“映射關系”; 只要等號兩邊的模式相同,一一對應,左邊的變量就會被賦予右邊對應的值。
3.對象,數組,塊級作用域
//JS:
var obj = {a:100,b:200}
var a = obj.a
var b = obj.b

var arr = ['xxx','yyy','zzz']
var x = arr[0]

//ES6解構賦值:
const obj = {a:10,b:20,c:30}
const {a,c} = obj
console.log(a)
console.log(c)

const arr = ['xxx','yyy','zzz']
const [x,y,z] = arr
console.log(x)
console.log(y)

3、模板字符串

 使用 ` ` 模板字符串中嵌入變量,需要將變量名寫在${}之中。比普通js拼接字符串方便很多

var name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`

4、塊級作用域

var a=1;

function f(){
    console.log(a);
    if(false){
        var a='字符串變量';
    }
}
f()   // undefined

es5中,函數作用域覆蓋全局作用域,得到變量提示。

var a = 1  設置的是全局變量,但是fn()的時候打印出了undefined,這是因為if(){ } 這個函數方法,函數里面的a提到了最前面,初始化a,給了一個undefined。

在es6中,用let命令新增了塊級作用域,外層作用域無法獲取到內層作用域,非常安全明了。

即使外層和內層都使用相同變量名,也都互不干擾。

{
  {
    let food = 'apple';
    console.log(food);   // apple
  }  
    let food = 'orange';
    console.log(food);   // orange     
}

5、箭頭函數

1. 箭頭函數基本形式

let func = (num) => num;
let func = () => num;
let sum = (num1,num2) => num1 + num2;
[1,2,3].map(x => x * x);

2. 箭頭函數特點

參考:https://www.cnblogs.com/mengff/p/9656486.html

(1). 箭頭函數this為父作用域的this,不是調用時的this

箭頭函數的this永遠指向其父作用域,任何方法都改變不了,包括call,apply,bind。
普通函數的this指向調用它的那個對象。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM