選單
×
   ❮     
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 解構賦值


解構賦值

為了說明解構賦值,我們將做一個三明治。你做三明治時會把冰箱裡所有的東西都拿出來嗎?不,你只會拿出你想用在三明治上的食材。

解構賦值就是這麼回事。我們可能正在使用一個數組或物件,但我們只需要其中的一些元素。

解構賦值可以輕鬆地提取出我們需要的元素。


解構陣列

這是將陣列元素賦給變數的舊方法

示例

之前

const vehicles = ['mustang', 'f-150', 'expedition'];

// old way
const car = vehicles[0];
const truck = vehicles[1];
const suv = vehicles[2];

這是將陣列元素賦給變數的新方法

示例

使用解構賦值

const vehicles = ['mustang', 'f-150', 'expedition'];

const [car, truck, suv] = vehicles;

解構陣列時,宣告變數的順序很重要。

如果我們只需要汽車和 SUV,可以簡單地省略卡車,但要保留逗號

const vehicles = ['mustang', 'f-150', 'expedition'];

const [car,, suv] = vehicles;

當函式返回一個數組時,解構賦值就派上用場了

示例

function calculate(a, b) {
  const add = a + b;
  const subtract = a - b;
  const multiply = a * b;
  const divide = a / b;

  return [add, subtract, multiply, divide];
}

const [add, subtract, multiply, divide] = calculate(4, 7);

自己動手試一試 »


w3schools CERTIFIED . 2022

獲得認證!

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

$95 註冊

解構物件

這是在函式中使用物件的舊方法

示例

之前

const vehicleOne = {
  brand: 'Ford',
  model: 'Mustang',
  type: 'car',
  year: 2021, 
  color: 'red'
}

myVehicle(vehicleOne);

// old way
function myVehicle(vehicle) {
  const message = 'My ' + vehicle.type + ' is a ' + vehicle.color + ' ' + vehicle.brand + ' ' + vehicle.model + '.';
}

這是在函式中使用物件的新方法

示例

使用解構賦值

const vehicleOne = {
  brand: 'Ford',
  model: 'Mustang',
  type: 'car',
  year: 2021, 
  color: 'red'
}

myVehicle(vehicleOne);

function myVehicle({type, color, brand, model}) {
  const message = 'My ' + type + ' is a ' + color + ' ' + brand + ' ' + model + '.';
}

自己動手試一試 »

請注意,物件的屬性不必按特定順序宣告。

透過引用巢狀物件,然後使用冒號和花括號再次解構巢狀物件中的所需元素,我們可以甚至對深度巢狀的物件進行解構。

示例

const vehicleOne = {
  brand: 'Ford',
  model: 'Mustang',
  type: 'car',
  year: 2021, 
  color: 'red',
  registration: {
    city: 'Houston',
    state: 'Texas',
    country: 'USA'
  }
}

myVehicle(vehicleOne)

function myVehicle({ model, registration: { state } }) {
  const message = 'My ' + model + ' is registered in ' + state + '.';
}

自己動手試一試 »



×

聯絡銷售

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

報告錯誤

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

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

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