首頁 > web前端 > js教程 > JavaScript 中的物件是什麼?

JavaScript 中的物件是什麼?

Patricia Arquette
發布: 2024-12-29 04:26:19
原創
174 人瀏覽過

What are Objects in JavaScript?

  • 定義: 物件儲存帶鍵的資料集合和更複雜的實體。
  • 創作:
    • 物件建構子語法: let user = new Object();
    • 物件文字語法: let user = {}; (首選並廣泛使用)。

文字與屬性

  • 物件是屬性的集合。屬性是一個鍵:值對。
  let user = {
    name: 'John',
    age: 30,
  }
登入後複製
登入後複製
  • 存取屬性:
    • 點表示法:user.name 回傳「John」。
    • 方括號表示法:user["name"] 也回傳「John」。
  • 新增/刪除屬性:
  user.isAdmin = true // Adding
  delete user.age // Removing
登入後複製
登入後複製

帶鑰匙的特殊箱子

  • 多字鍵:使用引號和方括號。
  user['likes birds'] = true
  alert(user['likes birds']) // true
登入後複製
  • 動態鍵(計算屬性):
    • 您可以使用變數或表達式作為鍵。
  let fruit = 'apple'
  let bag = { [fruit]: 5 } // Equivalent to { "apple": 5 }
登入後複製

簡寫屬性

  • 當變數名稱與屬性名稱相符時:
  function makeUser(name, age) {
    return { name, age } // Same as name: name, age: age
  }
登入後複製

屬性名稱規則

  • 物件屬性可以使用保留字或特殊字元。
  • 非字串鍵(例如數字)轉換為字串:
  let obj = { 0: 'test' }
  alert(obj[0]) // "test"
登入後複製

測試和迭代屬性

  1. 屬性存在:
    • 在 obj 中使用「key」來檢查某個鍵是否存在。
   let user = { age: undefined }
   alert('age' in user) // true
登入後複製
  1. 使用 for..in 迭代:
   let user = { name: 'John', age: 30 }
   for (let key in user) {
     alert(key) // Outputs: "name", "age"
     alert(user[key]) // Outputs: "John", 30
   }
登入後複製

財產訂單

  • 整數鍵: 依升序排序。
  • 非整數鍵: 保留其建立順序。

現實程式碼範例:使用者設定檔

let userProfile = {
  firstName: 'Jane',
  lastName: 'Smith',
  email: 'jane.smith@example.com',
  isVerified: true,
  address: {
    street: '123 Elm Street',
    city: 'Metropolis',
    postalCode: '12345',
  },
  interests: ['reading', 'hiking', 'coding'],

  // Method inside an object
  getFullName() {
    return `${this.firstName} ${this.lastName}`
  },

  // Dynamically updating properties
  updateEmail(newEmail) {
    this.email = newEmail
    console.log(`Email updated to ${this.email}`)
  },
}

// Accessing properties
console.log(userProfile.getFullName()) // Output: Jane Smith

// Updating email using the method
userProfile.updateEmail('jane.doe@example.com') // Output: Email updated to jane.doe@example.com

// Accessing nested properties
console.log(userProfile.address.city) // Output: Metropolis

// Iterating over interests
console.log('User Interests:')
userProfile.interests.forEach((interest) => console.log(interest))
登入後複製

新增和刪除屬性

建立物件後可以動態新增或刪除屬性。

// Adding a new property
userProfile.phoneNumber = '555-1234'
console.log(userProfile.phoneNumber) // Output: 555-1234

// Deleting a property
delete userProfile.isVerified
console.log(userProfile.isVerified) // Output: undefined
登入後複製

計算屬性

建立物件時,可以使用方括號動態計算屬性名稱。

let key = 'favoriteColor'
let userPreferences = {
  [key]: 'blue',
  [key + 'Secondary']: 'green',
}

console.log(userPreferences.favoriteColor) // Output: blue
console.log(userPreferences.favoriteColorSecondary) // Output: green
登入後複製

迭代物件屬性

使用 for...in,可以迴圈遍歷物件中的所有鍵。

for (let key in userProfile) {
  console.log(`${key}: ${userProfile[key]}`)
}
登入後複製

現實範例:產品庫存

以下是如何在實際場景中使用對象,例如管理產品庫存:

  let user = {
    name: 'John',
    age: 30,
  }
登入後複製
登入後複製

在運算子中使用

in 運算子檢查物件中是否存在屬性。它在驗證可選或動態添加的屬性時特別有用。

  user.isAdmin = true // Adding
  delete user.age // Removing
登入後複製
登入後複製

總結

物件是 JavaScript 的核心,提供彈性與功能:

  • 鍵可以是字串或符號。
  • 使用點或括號表示法存取屬性。
  • 使用 for..in 迭代鍵。
  • 了解整數與非整數屬性排序。

以上是JavaScript 中的物件是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板