es6-函數(shù)擴(kuò)展

  • 參數(shù)默認(rèn)值
  • rest參數(shù)
function add(...numbers){
  return numbers.sort();
}
  • 嚴(yán)格模式
    ES5開始,函數(shù)內(nèi)部可以設(shè)定為嚴(yán)格模式
function f(){
  'use strict';
}

ES2016 做了一點(diǎn)修改,規(guī)定只要函數(shù)參數(shù)使用了默認(rèn)值,結(jié)構(gòu)賦值、或者擴(kuò)展運(yùn)算符,那么函數(shù)內(nèi)部就不能顯示設(shè)定為嚴(yán)格模式,否則會(huì)報(bào)錯(cuò)。
這樣規(guī)定的原因是,函數(shù)內(nèi)部的嚴(yán)格模式,同時(shí)適用于函數(shù)體和函數(shù)參數(shù)

  • name屬性
function ttt(){}
ttt.name; // ttt
  • 箭頭函數(shù)
var f = v => v;

// 等同于
var f = function (v) {
  return v;
};

箭頭體內(nèi)的this對(duì)象,就是定義時(shí)所在的對(duì)象,而不是使用時(shí)所在的對(duì)象。
不可以當(dāng)做構(gòu)造函數(shù)
不可以使用arguments對(duì)象
不可以使用yield命令

  • 尾調(diào)用優(yōu)化
    尾調(diào)用:某個(gè)函數(shù)的最后一步是調(diào)用另一個(gè)函數(shù)
    優(yōu)化:只保留內(nèi)層函數(shù)的調(diào)用幀,如果所有的函數(shù)都是尾調(diào)用,那么完全可以做到每次之行時(shí),調(diào)用幀只有一項(xiàng),這將大大節(jié)省內(nèi)存
    尾遞歸:尾調(diào)用自身,稱為尾遞歸
    尾遞歸只存在一個(gè)調(diào)用幀,所以永遠(yuǎn)不會(huì)發(fā)生棧溢出錯(cuò)誤。
    Es6的尾調(diào)用優(yōu)化只在嚴(yán)格模式之下開啟,正常模式是無效的
  • catch命令的參數(shù)省略
try{
} catch {
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 函數(shù)參數(shù)的默認(rèn)值 基本用法 在ES6之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能采用變通的方法。 上面代碼檢查函數(shù)l...
    呼呼哥閱讀 3,703評(píng)論 0 1
  • 函數(shù)參數(shù)的默認(rèn)值 基本用法 在ES6之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能采用變通的方法。 上面代碼檢查函數(shù)l...
    陳老板_閱讀 512評(píng)論 0 1
  • ES6函數(shù)的擴(kuò)展 1.函數(shù)默認(rèn)值 定義:ES6允許為函數(shù)設(shè)定默認(rèn)值,即直接寫在參數(shù)定義的后面 示例function...
    lijaha閱讀 506評(píng)論 0 0
  • 1.函數(shù)參數(shù)的默認(rèn)值 Ⅰ.基本結(jié)構(gòu) 為函數(shù)的參數(shù)設(shè)置默認(rèn)值 參數(shù)變量是默認(rèn)聲明的不能用let或const再次聲明 ...
    門門_閱讀 290評(píng)論 0 0
  • 一、函數(shù)參數(shù)的默認(rèn)值 1.1、基本用法 ES6 允許為函數(shù)的參數(shù)設(shè)置默認(rèn)值,直接寫在參數(shù)定義的后面 ES6 的寫法...
    了凡和纖風(fēng)閱讀 350評(píng)論 0 0

友情鏈接更多精彩內(nèi)容