ES6 dapat menggunakan "panah" (=>) untuk mendefinisikan fungsi. Perhatikan bahwa mereka adalah fungsi, dan tidak menggunakan metode ini untuk mendefinisikan kelas (konstruktor).
1. Sintaks
1. Fungsi sederhana dengan satu parameter
var single = a => asingle ('halo, dunia') // 'halo, dunia'2. Jika tidak ada parameter, Anda perlu menggunakan kurung sebelum panah.
var log = () => {alert ('no param')}3. Beberapa parameter memerlukan tanda kurung, dan interval koma antara parameter, seperti menambahkan dua angka
var add = (a, b) => a + badd (3, 8) // 11
4. Kawat gigi keriting diperlukan untuk beberapa pernyataan dalam tubuh fungsi
var add = (a, b) => {if (typeof a == 'number' && typeof b == 'number') {return a + b} else {return 0}}5. Saat mengembalikan objek, Anda perlu membungkusnya dengan tanda kurung, karena kawat gigi ditempati dan ditafsirkan sebagai blok kode.
var gethash = arr => {// ... return ({name: 'jack', usia: 33})}6. langsung sebagai penangan acara
document.addeventListener ('klik', ev => {console.log (ev)})7. Urutkan panggilan balik sebagai array
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. Perhatikan
1. Jenis operator sama dengan fungsi biasa
var func = a => aconsole.log (typeof func); // "fungsi"
2. Contoh juga mengembalikan true, menunjukkan bahwa itu juga merupakan instance fungsi
console.log (func FunctionOf fungsi); // BENAR
3. Ini diperbaiki, tidak lagi dapat diubah
obj = {data: ['John backus', 'John Hopcroft'], init: function () {document.onClick = ev => {waspada (this.data) // ['John backus', 'John hopcroft']} // non-arrow function // document.onclick = function (ev) {// warni.data.data) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) {ev) { Ini sangat berguna, tidak perlu lagi me , self , _this , atau bind .
4. Fungsi panah tidak dapat digunakan dengan yang baru
var person = (name, use) => {this.name = name this.age = usia} var p = func baru ('John', 33) // error5. Argumen tidak dapat digunakan
var func = () => {console.log (argumen)} func (55) //Untuk 5, tes di Firefox36 dapat menghasilkan 55, dan tampaknya tidak ada batasan.
3. Ringkasan
Di atas adalah pengantar lengkap untuk fungsi panah di ES6. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan pesan untuk didiskusikan.