Rumah >hujung hadapan web >tutorial js >Apakah Objek dalam JavaScript?

Apakah Objek dalam JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-12-29 04:26:19169semak imbas

What are Objects in JavaScript?

  • Definisi: Objek menyimpan koleksi data berkunci dan entiti yang lebih kompleks.
  • Penciptaan:
    • Sintaks Pembina Objek: biarkan pengguna = Objek baharu();
    • Sintaks Literal Objek: biarkan pengguna = {}; (diutamakan dan digunakan secara meluas).

Tersurat dan Sifat

  • Objek ialah koleksi sifat. Harta ialah kunci: pasangan nilai.
  let user = {
    name: 'John',
    age: 30,
  }
  • Mengakses Sifat:
    • Notasi Titik: nama pengguna mengembalikan "John".
    • Notasi Kurungan Persegi: pengguna["name"] juga mengembalikan "John".
  • Menambah/Mengalih Keluar Sifat:
  user.isAdmin = true // Adding
  delete user.age // Removing

Kes Khas dengan Kunci

  • Kunci Berbilang Kata: Gunakan petikan dan kurungan segi empat sama.
  user['likes birds'] = true
  alert(user['likes birds']) // true
  • Kunci Dinamik (Sifat Dikira):
    • Anda boleh menggunakan pembolehubah atau ungkapan sebagai kunci.
  let fruit = 'apple'
  let bag = { [fruit]: 5 } // Equivalent to { "apple": 5 }

Sifat Ringkas

  • Apabila nama pembolehubah sepadan dengan nama sifat:
  function makeUser(name, age) {
    return { name, age } // Same as name: name, age: age
  }

Peraturan Nama Harta

  • Sifat objek boleh menggunakan perkataan terpelihara atau aksara khas.
  • Kunci bukan rentetan (mis., nombor) ditukar kepada rentetan:
  let obj = { 0: 'test' }
  alert(obj[0]) // "test"

Sifat Pengujian dan Lelaran

  1. Kewujudan Harta:
    • Gunakan "kunci" dalam obj untuk menyemak sama ada kunci wujud.
   let user = { age: undefined }
   alert('age' in user) // true
  1. Berulang dengan untuk..dalam:
   let user = { name: 'John', age: 30 }
   for (let key in user) {
     alert(key) // Outputs: "name", "age"
     alert(user[key]) // Outputs: "John", 30
   }

Pesanan Hartanah

  • Kunci integer: Diisih dalam tertib menaik.
  • Kunci bukan integer: Kekalkan susunan penciptaannya.

Sampel Kod Realistik: Profil Pengguna

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))

Menambah dan Memadamkan Sifat

Sifat boleh ditambah atau dialih keluar secara dinamik selepas objek dibuat.

// 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

Sifat Berkomputer

Apabila mencipta objek, nama sifat boleh dikira secara dinamik menggunakan kurungan segi empat sama.

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

console.log(userPreferences.favoriteColor) // Output: blue
console.log(userPreferences.favoriteColorSecondary) // Output: green

Lelaran Atas Sifat Objek

Menggunakan untuk...dalam, anda boleh melingkari semua kekunci dalam objek.

for (let key in userProfile) {
  console.log(`${key}: ${userProfile[key]}`)
}

Contoh Realistik: Inventori Produk

Begini cara objek boleh digunakan dalam senario praktikal, seperti mengurus inventori produk:

  let user = {
    name: 'John',
    age: 30,
  }

Menggunakan dalam Operator

Operator dalam menyemak sama ada sifat wujud dalam objek. Ia amat berguna apabila mengesahkan sifat pilihan atau ditambah secara dinamik.

  user.isAdmin = true // Adding
  delete user.age // Removing

Ringkasan

Objek adalah penting kepada JavaScript, menawarkan fleksibiliti dan fungsi:

  • Kunci boleh menjadi rentetan atau simbol.
  • Akses sifat menggunakan notasi titik atau kurungan.
  • Gunakan untuk..in untuk mengulangi kekunci.
  • Fahami susunan sifat integer lwn. bukan integer.

Atas ialah kandungan terperinci Apakah Objek dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn