9-2. String 오브젝트 / 문자열로 변환, 프리미티브 값 구하기
String() : 문자열로 변환
구분 | 데이터(값) |
---|---|
파라미터 | 변환 대상 opt |
반환 | 변환한 값 |
파라미터 값을 String 타입으로 변환하여 반환
값을 작성하지 않으면 빈문자열 반환
var value = String(123); console.log(value); // 123 console.log(typeof value); // string console.log(typeof ("" + 123)); // string
가독성
- (“” + 123)도 숫자가 String 타입이 되지만
- String(123) 형태가 가독성이 높습니다.
저는 “” + 123 보다 String(123)을 선호하는데, 가독성 때문입니다.
물론 다른 목적도 있습니다만 그것은 다음에 다루기로 하겠습니다.
new String()
구분 | 데이터(값) |
---|---|
파라미터 | 값 opt |
반환 | 생성한 String 인스턴스 |
String 인스턴스를 생성하여 반환
var obj = new String(123); console.log(typeof obj); // object
new 연산자로 String 생성자 함수를 호출하면, String 인스턴스를 생성하여 반환합니다. 123이 obj의
[[primitiveValue]]
로 설정됩니다.
new 연산자를 사용했기 때문에 obj의 type은 소문자 object 입니다.
파라미터 값을 String 타입으로 변환
- 파라미터 값이 프리미티브 값이 됩니다.
valueOf()
구분 | 데이터(값) |
---|---|
data | String 인스턴스, 문자 |
파라미터 | 사용하지 않음 |
반환 | 프리미티브 값 |
String 인스턴스의 프리미티브 값 반환
var obj = new String(123); console.log(obj.valueOf()); // 123
- obj는 String의 인스턴스이며
- 파라미터 값 123이 String 인스턴스의 프리미티브 값으로 설정됩니다.
- obj에 프리미티브 값으로 설정된 값 반환