選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

React ES6 箭頭函式


箭頭函式

箭頭函式允許我們編寫更短的函式語法

示例

之前

hello = function() {
  return "Hello World!";
}

自己動手試一試 »

示例

使用箭頭函式

hello = () => {
  return "Hello World!";
}

自己動手試一試 »

它會更簡潔!如果函式只有一個語句,並且該語句返回一個值,則可以省略括號 return 關鍵字

示例

箭頭函式預設返回值

hello = () => "Hello World!";

自己動手試一試 »

注意: 這僅在函式只有一個語句時才有效。

如果你有引數,則將它們放在括號內

示例

帶引數的箭頭函式

hello = (val) => "Hello " + val;

自己動手試一試 »

事實上,如果你只有一個引數,也可以省略括號

示例

無括號的箭頭函式

hello = val => "Hello " + val;
this

自己動手試一試 »


w3schools CERTIFIED . 2022

獲得認證!

完成 React 模組,完成練習,參加考試,並獲得 w3schools 認證!

$95 註冊

關於 this?

與常規函式相比,箭頭函式對 this 的處理方式也不同。

簡而言之,對於箭頭函式,沒有 this 的繫結。

在常規函式中,this 關鍵字代表呼叫函式的物件,可以是 window,document,一個按鈕或任何其他物件。

對於箭頭函式,this 關鍵字總是代表定義該箭頭函式的物件。

讓我們看兩個例子來理解其中的區別。

這兩個例子都呼叫了一個方法兩次,第一次是在頁面載入時,第二次是在使用者點選按鈕時。

第一個例子使用了一個常規函式,第二個例子使用了一個箭頭函式。

結果顯示第一個例子返回了兩個不同的物件(window 和 button),而第二個例子返回了兩次 Header 物件。

示例

使用常規函式時,this 代表呼叫函式的物件

class Header {
  constructor() {
    this.color = "Red";
  }

//Regular function:
  changeColor = function() {
    document.getElementById("demo").innerHTML += this;
  }
}

const myheader = new Header();

//The window object calls the function:
window.addEventListener("load", myheader.changeColor);

//A button object calls the function:
document.getElementById("btn").addEventListener("click", myheader.changeColor);

自己動手試一試 »

示例

使用箭頭函式時,this 代表 Header 物件,無論誰呼叫了該函式

class Header {
  constructor() {
    this.color = "Red";
  }

//Arrow function:
  changeColor = () => {
    document.getElementById("demo").innerHTML += this;
  }
}

const myheader = new Header();


//The window object calls the function:
window.addEventListener("load", myheader.changeColor);

//A button object calls the function:
document.getElementById("btn").addEventListener("click", myheader.changeColor);

自己動手試一試 »

在處理函式時,請記住這些差異。有時常規函式的行為是你想要的,如果不是,則使用箭頭函式。



×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援