Javascript Object   자바스크립트 객체

(2019-05-13)

객체, Object

1. 자바스크립트 객체의 특징

  ㅇ 모든 것을 객체로 바라다 봄
     - 함수도, 변수도, 데이터도 모두 객체임
        . 결국, 모든 것을 객체를 통해 참조하여 값으로 처리할 수 있음
           .. 例) 데이터도 객체 참조를 통해 값으로 변환될 수 있는 객체임
           .. 例) 함수도 그 자체를 전달인수나 리턴 값으로 취급할 수 있는 일급 객체 임
                  
  ㅇ 동적으로/유연하게 객체의 구조와 동작방식을 바꿀 수 있음
     - 즉, 동적으로 객체프로퍼티(속성)를 추가,제거,변경할 수 있음
        . 여기서, 프로퍼티(속성)은, `이름(키)`와 `값`의 쌍 이며,
        . 이때, 값은 모든 데이터타입이 가능하고, 표현식까지도 가능함 
           .. 즉, 그 값이 다른 객체의 참조를 갖을 수 있으며,
           .. 만일, 그 값이 함수 객체의 참조를 갖으면 메서드 라고 함

  ㅇ 구현 관점으로 볼 때, 연상 배열 또는 해시로써 취급됨 
     - 즉, 이름과 키로 접근 가능한 배열로써 구현되고 사용됨


2. 자바스크립트 객체의 구분

  ※ ☞ 자바스크립트 객체 구분 참조
     - 코어 객체(core object) / 내장 객체(built-in object) / 네이티브 객체(native object)
        . 자바스크립트 언어 내부에 내장되어 있는 객체
     - 호스트 객체 (host object) : 실행 환경 마다 다르게 덧붙여 존재하는 객체
        . 즉, 운영체제,웹브라우저 마다 달라짐


3. 자바스크립트는, `프로토타입 기반의 객체지향 언어` 임

  ※ ☞ 프로토타입 객체/부모 객체 참조
     - 자바스크립트는, 객체지향상속성 개념 처럼,
        . 모든 객체는 자신의 부모 역할을 하는 프로토타입 객체를 가리키는
        . 숨겨진 프로퍼티를 갖고 있게 됨


4. 자바스크립트 객체의 활용객체의 구현 형태                                               ☞ 연관 배열 참조
     - 여러 다른 형태의 데이터를 이름(키)과 값에 의해 한 쌍으로 묶어 모은 복합 데이터

  ㅇ 객체의 생성,저장,접근                  ☞ 자바스크립트 객체의 생성 저장 접근 참조
     - 객체 생성 : `객체 리터럴`, `생성자(Constructor)`로 생성 가능
     - 객체 저장 : 변수, 배열 내 요소, 객체프로퍼티 등 다양한 곳에 저장 가능
     - 객체 접근 : 점 접근법(.), 대괄호 접근법([])에 의해 객체 내부에 접근 가능

  ㅇ 객체 길이의 확인 방법 : Object.keys(객체명).length
     - 여기서, keys()는 객체의 키들을 배열화시켜 반환하는 메소드임

  ㅇ 객체프로퍼티의 열거 방법
     - for/in 문
     - Object.keys 메소드
     - Object.getOwnPropertyNames 메소드

  ㅇ 해당 객체의 소속 멤버인지 판단하는 방법 : in 연산자
     - 例) myMember in obj;   =>  소속 멤버이면 : true, 아니면 : false

  ㅇ 특정 생성자에 의해 생성된 인스턴스인지를 판단하는 방법 : instanceof 연산자

  ㅇ 바탕이 되는 생성자를 취득하는 방법 : constructor 프로퍼티

  ㅇ 해당 객체가 특정 프로토타입인지를 확인하는 방법 : isPrototypeOf 메소드
     - 例) myObj.prototype.isPrototypeOf(thatObj);  =>  특정 프로토타입이면 : true


[JS 객체] 1. JS 객체 2. JS 객체 구분 3. JS 객체의 생성 저장 접근 4. JS 클래스 5. 프로토타입 객체 6. 프라미스 객체 7. 일급 객체 8. 래퍼 객체 9. 콘솔 객체 10. this 참조 11. 이터레이터,제너레이터 12. 범용 객체

 
        최근수정     요약목록     참고문헌