[javascript] 10-20 자바스크립트 스터디 - 객체지향-데이터타입
2021-10-19
10-20 [객체지향-데이터타입]
데이터 타입
- 데이터 타입에는 원시데이터타입 (기본데이터타입) / 객체데이터타입 (참조데이터타입) 두가지로 나눌 수 있다.
이것이 아닌 데이터들은 참조 데이터타입이라고 분류됨 === 원시데이터타입이 아닌 것들은 참조 데이터타입 (객체) 임
레퍼 객체
- 데이터타입의 구분 (원시냐 객체냐)은 그다지 중요한게 아니고, js 개발자입장에서의 효용은 데이터타입별로 다르게 동작할 때를 아는 것이 중요함
str.length
str.charAt(0)
// str와 length 사이의 .은 Object access operator 객체 접근 연산자
-
문자열은 원시데이터타입이 맞다. 하지만 그 문자열을 제어하기 위해서, 그 문자열이 마치 객체인 것처럼 만들어야함. 그래야 객체지향 프로그래밍에 있어 일관성을 맞출 수 있기에…?
→ 그래서 자바스크립트에서 문자열과 같은 이 원시데이터타입은 그것을 객체로서 임시적으로 사용할 수 있게끔 만들어준다.
var str = 'coding'; // str = new String('coding'); -> 이런 동작이 생성하는 것임 (생성자동작이 객체인것처럼 만들어줌) console.log(str.length); console.log(str.charAt(0)); // 다 처리하고나서는 다시 원시데이터타입형태로 돌려준다.⇒ 원시데이터타입을 마치 객체처럼 사용하려할 때에 js 내부적으로 자동으로 만들어지는 객체를 레퍼객체 or 레퍼오브젝트라고 한다.
어떤 언어는 개발자가 명시적으로 객체화 해야하지만 js는 자동으로 레퍼객체로 객체화 시켜줌
-
경우에 따라 편의를 제공하기위해서 자동으로 객체화시키는 원시데이터타입이 존재한다.