」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > JavaScript 中的一等公民功能

JavaScript 中的一等公民功能

發佈於2024-11-02
瀏覽:885

Functions as First-Class Citizens in JavaScript

什麼是一等函數?

First-Class Citizens 意味著函數可以像其他資料類型一樣使用。它意味著函數可以分配給變量,作為參數傳遞給其他函數,並作為值返回。這是函數式程式設計中的關鍵概念,因為它允許我們編寫更多模組化和可重複使用的程式碼。

  • 分配給變數
  • 作為參數傳遞給其他函數
  • 從函數傳回作為值

以下是在 JavaScript 中使用函數作為一等公民的一些範例:

  • 將函數指派給變數: 您可以將函數指派給變數並像使用任何其他變數一樣使用這些變數。

例子:

const add = function(x, y) {
  return x   y;
}
console.log(add(5, 4)); // Output: 9
console.log(typeof(add)); // Output: function
  • 將函數作為參數傳遞: 您可以將函數作為參數傳遞給其他函數。這對於設計高階函數或回調函數很有用。

例子:

function greet(name, callback) {
  const message = "Hello, "   name   "!";
  callback(message);
}

function logMessage(message) {
  console.log(message); // Logs "Hello, Nozibul!"
}

greet("Nozibul", logMessage); // Logs "Hello, Nozibul!"
  • 將函數作為值傳回: 一個函數可以從內部傳回另一個函數。這對於建立可在後續操作中使用的函數非常有用,例如柯里化函數。

例子:

function add(x) {
  return function(y) {
    return x   y;
  };
}

const addFive = add(5);
console.log(addFive(3)); // Output: 8
  • 在陣列中儲存函數: 函數可以像其他值一樣儲存在陣列中。

例子:

function add(a, b) {
  return a   b;
}

var arr = [];
arr.push(add);
console.log(arr); // Output: [ [Function: add] ]
console.log(arr[0](2, 5)); // Output: 7
  • 在物件中儲存函數: 函數可以儲存為物件的屬性。

例子:

function add(a, b) {
  return a   b;
}

var obj = {
  sum: add
};

console.log(obj.sum(5, 7)); // Output: 12
console.log(obj); // Output: { sum: [Function: add] }

這些範例示範如何將 JavaScript 中的函數視為一等公民,從而實現強大的函數式程式設計範例。

版本聲明 本文轉載於:https://dev.to/nozibul_islam_113b1d5334f/functions-as-first-class-citizens-in-javascript-4fji?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3