JAVASCRIPT

원시 데이터 타입

Made Project 2020. 11. 19. 00:00

원시 데이터 타입(기본) VS 객체 데이터 타입(참조)

 

원시 데이터 타입은 숫자 ,문자,불리언(true/false),null,undefiend (primitive type)이라고 합니다.

 

let str = 'coding';
console.log(str.length);        // 6
console.log(str.charAt(0));

 

이상한게 있습니다. 문자열은 원시 데이터 타입인데  

 

srt.charAt(0)은 객체 처럼 보입니다. 정식 명칭은 Object access Operator 

객체 접근 연산자입니다.

 

srt. 여기에 점은 객체입니다. srt은 객체입니다. 좀 혼란스러울수 있습니다. 문자열을 제어하기 위해서

 

몇번째 자리인가 또는 몇개의 글자가 있는가 어떠한 작업을 하기 위해서는 문자열을 객체데이터로 작업을 해야

 

수월합니다.

 

 

let str = 'coding'; 이것이 마치 str=new String('coding') 이라고 생각하시면 됩니다.

console.log(str.length); // 6

console.log(str.charAt(0)); // "C"

 

밑에 메소드를 사용 할수 있습니다.

 

 

다음 예를 보자면

let str = 'coding';

str.prop = 'everybody'; 여기까지는 객체 데이터 타입으로 받아줍니다. 

console.log(str.prop); // undefined 하지만 여기서는 객체를 제거 하거 원래 원시데이터로

변경되었기 때문에 undefined가 됩니다.

 

문자열처럼 객체 지향적으로 다룰수 있도록 하는 것을 레퍼 객체라고합니다.

 

래퍼 객체로는 숫자,문자열,블리언

 

하지만 null mundefined는 래퍼객체가 아닙니다.

 

 

이 글은 생활코딩을 보고 포스팅 하였습니다.