Javascript Object   자바스크립트 객체

(2018-11-29)

객체 , Object

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


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

  ㅇ 코어 객체(core object) / 내장 객체(built-in object) / 네이티브 객체(native object)
     - 자바스크립트 언어 규약으로 정의되어짐 (ECMAScript 규약)
        . 자바스크립트 언어 내부에 내장되어 있는 객체들로써,
        . 특별히 선언 또는 정의하지 않고, 바로 이용할 수 있음

     - 내장 객체 종류
        . Global object  (전역 객체)
           .. 자바스크립트 인터프리터 혹은 웹브라우저가 새 페이지를 읽어들일 때 마다,
           .. 꽤 많은 전역 객체들을 생성함
        . Object object  (범용 객체)
           .. 기능은 많지 않으나, 가장 많이 쓰이며, 데이터의 저장 및 전송에 적당함
           .. 모든 객체의 기본 객체 처럼, 다른 객체객체의 공통적인 성질/기능을 제공
           .. 즉, 모든 객체Object 객체에 정의된 프로퍼티메소드를 공통으로 이용 가능 함
        . Function object  (함수 객체)
        . Array object  (배열 객체)
        . String object  (문자열 객체)
        . Boolean object  (불리언 객체)
        . Number object  (숫자 객체)
        . Math object  (수학 객체)
        . Date object  (날짜 객체)
        . RegExp object  (정규표현식 객체)
        . JSON object  (JSON 객체)
        . 기타 에러처리용 object 등
           .. (Error,EvalError,InternalError,RangeError,ReferenceError,SyntaxError,
               TypeError,URIError)

  ㅇ 호스트 객체 (host object)
     - 실행 환경 마다 다르게 덧붙여 존재하는 객체
        . 즉, 운영체제,웹브라우저 마다
     - 주로, 웹브라우저 확장 등에 쓰임
        . 클라이언트웹브라우저 기동시, 자동으로 생성되는 전역 객체로써,
           .. 동적으로 접근가능토록 구조화된 객체
        . 例) BOM(Window,Navigator,History,Location 등), DOM, Ajax, HTML5 API 관련 객체들
           . Window 객체 및 그 하위 객체들         ☞ 자바스크립트 Window 객체 참조
           .. Window 객체의 하위 객체들 例) location,history,document,navigator,screen


3. 자바스크립트는 `프로토타입 기반의 객체지향 언어`프로토타입 객체 (부모 객체)
     - 마치, 객체지향상속성 개념 처럼,
        . 모든 객체는 자신의 부모 역할을 하는 프로토타입 객체를 가리키는
           .. 숨겨진 프로퍼티를 갖고 있게 됨
        . 비록, 생성된 인스턴스에 아무것도 정의하지 않더라도, 
           .. 원래부터/처음부터 사용할 수 있게되는 것
        . 즉, 생성된 인스턴스가 부모로부터 프로토타입 객체상속받고 있는 것임

  ㅇ 프로토타입 체인
     - 자바스크립트의 모든 객체는 부모 객체(프로토타입 객체)와 연결됨
     - 모든 객체는 내부 프로퍼티 [[Prototype]] 또는 __proto__ 를 가지고 있음
     - 즉, 어떤 객체의 __proto__ 프로퍼티는 그 객체에게 상속해 준 부모 객체를 가리킴

  ※ 따라서, 자바스크립트는 `프로토타입 기반의 객체지향 언어` 라고 불리움


4. 자바스크립트 객체의 활용객체의 형태,생성,저장,접근                  ☞ 자바스크립트 객체의 생성 저장 접근 참조
     - 객체 형태 : 여러 다른 형태의 데이터를 이름(키)과 값에 의해 한 쌍으로 묶어
                   모은 복합 데이터
     - 객체 생성 : 객체 리터럴, 생성자로 생성 가능
     - 객체 저장 : 변수, 프로퍼티 등에 저장 가능
     - 객체 접근 : 점 접근법(.), 대괄호 접근법([])에 의해 객체에 접근 가능

  ㅇ 객체 길이의 확인 방법 : Object.keys(객체명).length


[JS 객체] 1. JS 객체 2. JS 객체의 생성 저장 접근 3. JS 클래스 4. 프라미스 객체 5. 일급 객체 6. 래퍼 객체 7. 콘솔 객체 8. 프로토타입 9. this 참조
[JS Window 객체]

 
        최근수정     요약목록(시험중)     참고문헌