[JavaScript]

5. 타입(type) - 2

cr.kl_ 2024. 7. 5. 23:06

객체(Object)?

여러개의 데이터를 한 변수에 저장할 수 있는 자료형

앞의 배열과의 차이점 : 특별한 키를 통해 원하는 값(value)에 접근 가능한

key-value의 쌍 으로 구성

 

- 특징

   객체는 데이터를 구조화해 저장 할 수 있는 기본 자료형 중 하나

  1. 객체 리터럴을 이용한 생성 (가장 간단)
    const person = {
        name: "John",
        age: 30,
        job: "developer"   };
  2. 생성자 함수를 사용한 생성
    function Person(name, age, job) {
       this.name = name;
       this.age = age;
       this.job = job;   }
    const person1 = new Person("John", 30, "developer");
    const person2 = new Person("Jane", 25, "designer");
  3. 속성 접근
    1) 점 표기법
        console.log(person.name[0]); // "John"
        console.log(person.age); // 30
    2) 대괄호 표기법
        console.log(person["name"][0]); // "John"
        console.log(person["age"]); // 30
  4. 속성 추가 및 변경
    person.name = "Jane"; // 기존 속성 변경
    person.city = "New York"; // 새로운 속성 추가

    console.log(person.name); // "Jane"
    console.log(person.city); // "New York"
  5. 속성 삭제
    - delete 키워드를 사용해 객세의 속성 삭제 가능
    - delete person.age;
      console.log(person.age); // undefined
  6. 객체 메서드
    - 객체는 함수도 속성으로 보유 가능
    - 이러한 함수를 메소드라고 한다.
    1) hasOwnProperty() : 객체에 주어진 속성이 직접 정의된 것인지 확인할 때 유용
        obj.hasOwnProperty(prop) // obj: 속성을 확인할 객체
                                                      prop: 확인할 속성의 이름(문자열)
        const person = {
           name: "John",
           age: 30   };
        console.log(person.hasOwnProperty("name")); // true
        console.log(person.hasOwnProperty("job")); // false
  7. for ... in
    - 객체의 열거 가능한 속성을 반복할 때 사용
    - 객체의 이름(key)을 하나씩 순회 / 주로 객체의 속성을 순회할 때 사용
    - 반드시 순서대로 반복 X
    - for (let variable in object) {
          반복할 코드   }
       variable: 현재 속성의 키를 저장할 변수
       object: 반복할 객체
    - const person = {
          name: '재현',
          age: 20;
          gender: 'male'   };
      for (let key in person) { 
          console.log(key+ ": " + person[key]);   } // name: John age: 30 job: developer
  8. call by keys(), values()
    - Object.keys() : 객체의 열거 가능한 속성 이름(key)들
    - Object.values() : 객체의 열거 가능한 속성 값(value)들
    - 을 배열으로 반환
    - 객체의 속성들을 쉽게 접근 하고 조작 가능하게 해줌
    - Object.keys(obj) / obj : 열거 가능한 속성 이름을 추출할 객체
       const person = {
          name: "John",
          age: 30,
          job: "developer"  };
        const keys = Object.keys(person);
        console.log(keys); // ["name", "age", "job"]
       * 배열에서도 사용 가능
        const fruits = ['apple', 'banana', 'cherry'];
        const keys = Object.keys(fruits);
        console.log(keys); // ['0', '1', '2']
    - Object.values(obj) / obj : 열거 가능한 속성 이름을 추출할 객체
       const person = {
          name: "John",
          age: 30,
          job: "developer"  };
        const values = Object.values(person);
        console.log(values); // ["John", 30, "developer"]
       * 배열에서도 사용 가능
        const fruits = ['apple', 'banana', 'cherry'];
        const values = Object.values(fruits);
        console.log(values); // ['apple', 'banana', 'cherry']

'[JavaScript]' 카테고리의 다른 글

7. DOM  (0) 2024.07.08
6. This  (0) 2024.07.08
5. 타입(type) - 1  (0) 2024.07.05
+ prompt(), confirm(), alert()  (0) 2024.07.05
4. 조건문과 반복  (0) 2024.07.05