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. 이터레이터,제너레이터

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