ES6は「矢印」(=>)を使用して関数を定義できます。それらは関数であり、この方法を使用してクラス(コンストラクター)を定義しないことに注意してください。
1。構文
1. 1つのパラメーターを持つ単純な関数
var single = a => asingle( 'hello、world')// 'hello、world'
2.パラメーターがない場合は、矢印の前にブラケットを使用する必要があります。
var log =()=> {alert( 'no param')}3.複数のパラメーターにはブラケットが必要であり、2つの数値を追加するなど、パラメーター間のコンマ間隔が必要です
var add =(a、b)=> a + badd(3、8)// 11
4.関数本体の複数のステートメントには、巻き毛のブレースが必要です
var add =(a、b)=> {if(typeof a == 'number' && typeof b == 'number'){return a + b} else {return 0}}5.ブレースが占有され、コードブロックとして解釈されるため、オブジェクトを括弧で包む必要があります。
var gethash = arr => {// ... return({name: 'jack'、age:33})}6。イベントハンドラーとして直接
document.addeventlistener( 'click'、ev => {console.log(ev)})7.コールバックを配列としてソートします
var arr = [1、9、2、4、3、8] .sort((a、b)=> {if(a -b> 0){return 1} else {return -1}})arr // [1、2、3、4、8、9]2。注意を払ってください
1. Typeof演算子は通常の関数と同じです
var func = a => aconsole.log(typeof func); // "関数"
2.インスタンスも真実を返し、機能のインスタンスでもあることを示します
console.log(func instanceof function); // 真実
3.これは固定されており、変更できなくなりました
obj = {data:['John Backus'、 'John Hopcroft']、init:function(){document.onclick = ev => {alert(this.data)// ['John Hopcroft']} //これは非常に便利で、 me書く必要はもうありません、 self 、 _this 、またはbind 。
4.矢印関数は新しいものでは使用できません
var person =(name、age)=> {this.name = name this.age = age} var p = new func( 'john'、33)// error5。引数は使用できません
var func =()=> {console.log(arguments)} func(55)//5の場合、Firefox36のテストは55を出力でき、制限はないようです。
3。概要
上記は、ES6の矢印関数の紹介全体です。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残して話し合ってください。