👉 기본 환경
- Language: JavaScript
- IDE: VS Code
⌨️ 코드
1
2
3
4
5
|
let str = "Hello";
str.test = 5;
alert(str.test);
|
🖨️오류
1
2
|
TypeError: Cannot create property 'test' on string 'Hello'
|
📡 원인
* 엄격 모드
- 래퍼 객체를 수정 시, 에러가 발생
* 비엄격 모드
- 래퍼 객체에 properties 'test' 추가 → 래퍼 객체 삭제 → properties 'test'를 찾을 수 없음
🚨 원시값은 추가 데이터를 저장할 수 없음
📰 해결 방법
1
2
3
4
5
|
let str = new String("Hello"); // 문자열을 객체로 변환
str.test = 5;
alert(str.test);
|
String을 객체로 변환
⭐ 생성자를 통해 원하는 타입의 "래퍼 객체"를 직접 만들 수 있으나, 문자열은 일반적으로 기본 데이터 타입 권장
cf. String("Hello")
- 인 수를 원하는 형의 원시값(문자열, 숫자, 불린 값)으로 바꿔주는 역할
📚 참고 자료