[ JavaScript ] 자바스크립트 기본 문법 | 원시 데이터 타입 | 래퍼객체(wrapper object)

2021. 2. 4. 19:06·Archive/Develop
728x90
반응형

이미지 출처 :   https://commons.wikimedia.org/wiki/File:JavaScript-logo.png

 

 

 

 

 

해당 포스팅은 생활코딩의 이고잉 님의 강의를 기반으로 개인 공부용으로 정리한 포스팅임을 미리 알립니다.

 

 

 


 

 

자바스크립트 기본 문법 | 원시 데이터 타입과 객체

 

 

 

이제 데이터 타입에 대해서 조금 더 심도 있는 이야기를 할 수 있는 수준까지 왔습니다.

 

데이터 타입이란 데이터의 형태를 의미합니다.

 

 

데이터 타입은 크게 두가지로 구분할 수 있습니다. 객체와 객체가 아닌 것.

 

 

그럼 객체가 아닌 것은 무엇일까요?

아래의 리스트가 익숙하실 겁니다.

 

 

 

  • 숫자
  • 문자열
  • 불리언(true/false)
  • null
  • undefined

 

 

 

위 와 같이 객체가 아닌 데이터 타입을 원시 데이터 타입(primitive type)이라고 합니다.

 

그 외의 모든 데이터 타입들은 객체라고 말할 수 있습니다. 

 

 

 

 

 

 

 

 

자바스크립트 기본 문법 | 레퍼객체

 

 

 

래퍼 객체란, 원시 데이터 형을 객체처럼 다룰 수 있도록 하기 위한 객체입니다.

예제로 설명해보도록 하겠습니다.

 

 

var str = 'coding';
console.log(str.length);        // 6
console.log(str.charAt(0));     // "C"

 

 

 

 

 

 

 

문자열은 분명히 프로퍼티와 메소드가 있습니다.

 

그렇다면 문자열은 객체라고 말할 수 있는거겠죠.

 

 

그런데 왜 문자열이 객체가 아니라고 할까요?

 

그것은 내부적으로 문자열이 원시 데이터 타입이고,

문자열과 관련된 어떤 작업을 하려고 할 때 자바스크립트는 임시로 문자열 객체를 만들고

사용이 끝나면 제거하기 때문입니다.

 

 

이러한 처리는 내부적으로 일어나기 때문에 몰라도 됩니다.

 

하지만 원시 데이터 타입과 객체는 좀 다른 동작 방법을 가지고 있기 때문에

결국 이들을 분별하는 것은 필요합니다.

 

 

 

 

 

var str = 'test';
str.prop = 'test1';
console.log(str.prop);      // undefined

 

 

 

 

 

2행에서는 에러가 나지 않습니다.

 

str.prop를 하는 순간에 자바스크립트 내부적으로 String 객체가 만들어지기 때문입니다.

 

 

prop 프로퍼티는 이 객체에 저장되고 이 객체는 곧 제거 됩니다.

 

그렇기 때문에 prop라는 속성이 저장된 객체는 존재하지 않게되는 것입니다.

 

 

이러한 특징은 일반적인 객체의 동작 방법과는 많이 다르죠.

 

 

 

자바스크립트가 이렇게 만들어진 이유는,

문자열과 관련해서 필요한 기능성을 객체지향적으로 제공해야 하는 필요 또한 있기 때문입니다.

 

따라서 원시 데이터 형을 객체처럼 다룰 수 있도록 하기 위한 객체를 자바스크립트는 제공하고 있습니다.

 

 

그것이 바로 레퍼객체(wrapper object) 인 것입니다.

 

 

 

레퍼객체로는 String, Number, Boolean이 있습니다.

 

null과 undefined는 레퍼 객체가 존재하지 않습니다.

 

 

 

 

 

 

 

 

728x90
반응형

'Archive > Develop' 카테고리의 다른 글

[ JavaScript ] 자바스크립트 기본 문법 | Object Model  (0) 2021.02.06
[ JavaScript ] 자바스크립트 기본 문법 | 복제와 참조 | 참조데이터란 |  (0) 2021.02.04
[ JavaScript ] 자바스크립트 기본 문법 | Object 란?  (0) 2021.02.04
[ JavaScript ] 자바스크립트 기본 문법 | 표준 내장 객체란?  (0) 2021.02.04
[ Javascript ] 자바스크립트 기본 문법 | prototype & prototype chain  (0) 2021.02.04
'Archive/Develop' 카테고리의 다른 글
  • [ JavaScript ] 자바스크립트 기본 문법 | Object Model
  • [ JavaScript ] 자바스크립트 기본 문법 | 복제와 참조 | 참조데이터란 |
  • [ JavaScript ] 자바스크립트 기본 문법 | Object 란?
  • [ JavaScript ] 자바스크립트 기본 문법 | 표준 내장 객체란?
코뮤(commu)
코뮤(commu)
코딩으로 커뮤니케이션하는 코뮤입니다 😎
  • 코뮤(commu)
    코뮤(COMMU)
    코뮤(commu)
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Archive
        • Hacking
        • Develop
        • ETC
      • Algorithm
      • DB&Infra
      • ETC
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • IT지식보따리
    • IT가 맛있다
    • IT 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

    Oracle
    Python
    코드업 파이썬 기초 100제
    파이썬 백준
    코드업 기초
    Django
    javascript
    Codeup
    파이썬 문제
    백준 풀이
    자바스크립트 객체
    oracle db
    파이썬 알고리즘
    오라클
    파이썬
    docker
    파이썬 기초
    Git
    백준 문제풀이
    장고
    백준
    C++
    코드업
    파이썬 기초 문제
    자바스크립트
    비박스
    보안뉴스
    자바스크립트 API
    카카오 100일 프로젝트
    백준 파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코뮤(commu)
[ JavaScript ] 자바스크립트 기본 문법 | 원시 데이터 타입 | 래퍼객체(wrapper object)
상단으로

티스토리툴바