ES6 สามารถใช้ "ลูกศร" (=>) เพื่อกำหนดฟังก์ชั่น โปรดทราบว่าพวกเขาเป็นฟังก์ชันและอย่าใช้วิธีนี้เพื่อกำหนดคลาส (ตัวสร้าง)
1. ไวยากรณ์
1. ฟังก์ชั่นง่าย ๆ ที่มีหนึ่งพารามิเตอร์
var single = a => asingle ('hello, world') // 'Hello, World'2. หากไม่มีพารามิเตอร์คุณต้องใช้วงเล็บก่อนลูกศร
var log = () => {alert ('no param')}3. พารามิเตอร์หลายตัวต้องใช้วงเล็บและช่วงเครื่องหมายจุลภาคระหว่างพารามิเตอร์เช่นการเพิ่มตัวเลขสองตัว
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', อายุ: 33})}6. โดยตรงเป็นตัวจัดการเหตุการณ์
document.addeventListener ('คลิก', ev => {console.log (ev)})7. เรียงลำดับการโทรกลับเป็นอาร์เรย์
var arr = [1, 9, 2, 4, 3, 8] .sort ((a, b) => {ถ้า (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); // จริง
3. ได้รับการแก้ไขไม่สามารถเปลี่ยนแปลงได้อีกต่อไป
obj = {data: ['john backus', 'John Hopcroft'], init: function () {document.onclick = ev => {alert (this.data) // ['John Backus', 'John Hopcroft']} // non-arrow function // document.onclick = function (ev) สิ่งนี้มีประโยชน์มากไม่จำเป็นต้องเขียน me self อีกต่อไป _this นี่หรือ bind
4. ฟังก์ชันลูกศรไม่สามารถใช้กับใหม่ได้
var person = (ชื่อ, อายุ) => {this.name = name this.age = อายุ} var p = func ใหม่ ('john', 33) // ข้อผิดพลาด5. ไม่สามารถใช้อาร์กิวเมนต์
var func = () => {console.log (อาร์กิวเมนต์)} func (55) //สำหรับ 5 การทดสอบใน Firefox36 สามารถส่งออก 55 และดูเหมือนว่าจะไม่มีขีด จำกัด
3. สรุป
ข้างต้นคือการแนะนำทั้งหมดเกี่ยวกับฟังก์ชั่นลูกศรใน ES6 ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความเพื่อพูดคุย