> 웹 프론트엔드 > 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으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿