객체 만들기

    let user = new Object(); // '객체 생성자' 문법
    let user = {};  // '객체 리터럴' 문법

     

    객체 리터럴 - 중괄호를 이용해 만든다.

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title></title>
      </head>
      <body>
        <script>
        let user = {
            name: "kang",
            age: 20,
        }
        </script>
      </body>
    </html>

    마지막 프로퍼티의 끝에 쉼표를 사용할 수 있다.

     

    상수 객체는 수정될 수 있다.

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title></title>
      </head>
      <body>
        <script>
        const user = {
          name:"kang",
        }
    
        user.name = "kim";
    
        alert(user.name);
        </script>
      </body>
    </html>

    const는 user의 값을 고정하지만 안의 내용은 고정하지 않는다.


    대괄호 표기법 ☆

    여러 단어를 조합해 프로퍼티 키를 만든 경우엔, 점 표기법을 사용해 프로퍼티 값을 읽을 수 없다.

    //문법 에러가 발생
    user.likes iphone = true

     

    키가 유효한 변수 식별자(공백이 없고 특수문자가 없는 경우)가 아닌 경우에는 점을 사용하는 대신 대괄호 표기법(square bracket notation)을 사용해서 키에 어떤 문자열이 있던지 상관없이 동작한다.

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title></title>
      </head>
      <body>
        <script>
        let user = {};
    
        // set
        user["likes birds"] = true;
    
        // get
        alert(user["likes birds"]); // true
    
        // delete
        delete user["likes birds"];
        
        </script>
      </body>
    </html>

    대괄호 표기법에서 문자열은 ""을 붙여줘야 한다.

     

    let key = "likes iphone";
    
    // user["likes iphone"] = true; 와 같다.
    user[key] = true;

    모든 표현식의 평가 결과를 프로퍼티 키로 사용할 수 있습니다.


    객체는 몇 가지 특수한 기능을 가진 연관 배열(associative array)입니다.

    객체는 프로퍼티(키-값 쌍)를 저장합니다.

    • 프로퍼티 키는 문자열이나 심볼이어야 합니다. 보통은 문자열입니다.
    • 값은 어떤 자료형도 가능합니다.

    아래와 같은 방법을 사용하면 프로퍼티에 접근할 수 있습니다.

    • 점 표기법: obj.property
    • 대괄호 표기법 obj["property"]. 대괄호 표기법을 사용하면 obj[varWithKey]같이 변수에서 키를 가져올 수 있습니다.

    객체엔 다음과 같은 추가 연산자를 사용할 수 있습니다.

    • 프로퍼티를 삭제하고 싶을 때: delete obj.prop
    • 해당 key를 가진 프로퍼티가 객체 내에 있는지 확인하고자 할 때: "key" in obj
    • 프로퍼티를 나열할 때: for (let key in obj)

    지금까진 '순수 객체(plain object)'라 불리는 일반 객체에 대해 학습했습니다.

    자바스크립트에는 일반 객체 이외에도 다양한 종류의 객체가 있습니다.

    • Array – 정렬된 데이터 컬렉션을 저장할 때 쓰임
    • Date – 날짜와 시간 정보를 저장할 때 쓰임
    • Error – 에러 정보를 저장할 때 쓰임
    • 기타 등등

     

     

    reference

    https://ko.javascript.info/object

     

    객체

     

    ko.javascript.info

     

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading