컴퓨터 세상/JavaScript

JavaScript - 객체

Jimin Daddy 2020. 7. 20. 08:09

## JavaScript에서의 객체

  - 객체 리터럴내에서의 프로퍼티 값이 반드시 상수일 필요는 없다.

  - 프로퍼티 값으로 임의의 자바스크립트 표현식도 사용 가능하고 

    프로퍼티 이름으로 식별자 뿐만 아니라 문자열도 사용 가능.

  - 객체 생성

    var o = new Object();

    var now = new Date();

    var pattern = new RegExp("\\sjava\\s", "i");

    위와 같이 생성자 함수를 호출하여 객체를 생성

   - 객체 생성 후 사용

     var point = new Object();

     point.x = 2.3;  // point 객체의 x 프로퍼티 값 설정

     point.y = -1.2;  // point 객체의 y 프로퍼티 값 설정

  - 객체 리터럴

    객체 리터럴은 콜론으로 구별되는 프로퍼티 들을 다시 쉼표로 분리된 목록.

    ex)  * 바로 위의 point객체를 생성하게 되면

            var point = {x:2.3, y:-1.2};

            위의 내용을 다시 표현하면

            point.x = 2.3;

            point.y = -1.2;

          * 아래와 같이 중첩될 수도 있다.

            var rectangle = {upperLeft : {x : 2, y : 2}, lowerRight : { x : 4, y : 4 };

            위의 내용을 다시 표현하면

            rectangle.upperLeft.x = 2;

            rectangle.upperLeft.y = 2;

            rectangle.lowerRight.x = 4:

            rectangle.lowerRight.y = 4;

          * 객체 리터럴의 값은 반드시 상수일 필요는 없음

            var square = { "upperLeft" : { x : point.x, y : point.y }, 

                               'lowerRight' : { x : point.x, y : point.y }}

  - 객체 변환

    null 아닌 불리언 문맥에서 사용되면 true로 변환된다.

    객체가 문자열로 문맥에서 사용되면 객체의 toString() 메서드가 호출되고 메서드가 반환하는 문자열이 대신사용됨.

    객체가 숫자 문맥에서 사용되면 valueOf() 메서드가 호출 이 메서드가 기본 데이터 타입에 해당하는 값을 반환하면 그 값을 사용.

    대부분 메서드는 객체 그 자신을 반환한다.