Javascript Object   자바스크립트 객체

(2018-10-27)

객체 , 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)

  ㅇ 호스트 객체
     - 실행 환경 마다 다르게 덧붙여 존재하는 객체
        . 즉, 운영체제,웹브라우저 마다
     - 주로, 웹브라우저 확장 등에 쓰임
        . 클라이언트웹브라우저 기동시, 자동으로 생성되는 전역 객체로써,
           .. 동적으로 접근가능토록 구조화된 객체
        . 例) 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. 콘솔 객체
[JS Window 객체]
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   객체지향
      3.   자료구조
      4.   알고리즘
      5.   자료표현(알파벳/코드)
      6.   시스템 소프트웨어
      7.   프로그래밍언어 종류
            1. 프로그래밍 언어
            2. 어셈블리언어
        1.   C
        2.   자바(Java)
        3.   자바스크립트
              1. JavaScript
              2. JS 연산자
              3. 기초 문법
          1.   JS 변수,타입
          2.   JS 이벤트
          3.   JS 함수
          4.   JS 객체
                1. JS 객체
                2. JS 객체의 생성 저장 접근
                3. JS 클래스
                4. 프라미스 객체
                5. 일급 객체
                6. 래퍼 객체
                7. 콘솔 객체
            1.   JS Window 객체
          5.   JS 배열
          6.   JS 활용
          7.   jQuery
        4.   PHP
        5.   (기타 언어)
      8.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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