자바스크립트에서 toString()은 문자열을 반환하는 함수입니다. 기본적으로는 최상위의 객체(Object)상속 받아서 쓸 수있는 메소드 입니다. 그러나 데이터 타입에 따라서, 특히 Number의 경우 처럼 overriding 하여, 상속받지 않고 사용하는 경우도 있습니다.
let num = 123;
console.log(num.toString()); // "123"
console.log(num.toString(2)); // "1111011" (2진수)
console.log(num.toString(16)); // "7b" (16진수)
var count = 10;
console.log(count.toString()); // displays '10'
console.log((17).toString()); // displays '17'
console.log((17.2).toString()); // displays '17.2'
var x = 6;
console.log(x.toString(2)); // displays '110'
console.log((254).toString(16)); // displays 'fe'
console.log((-10).toString(2)); // displays '-1010'
console.log((-0xff).toString(2)); // displays '-11111111'
이 메서드는 보통 Object.prototype.toString.call(value)와 같은 방식으로 특정 객체의 타입을 확인하는 데 사용됩니다.
let obj = {};
console.log(obj.toString()); // [object Object]
console.log(Object.prototype.toString.call(obj)); // [object Object]
let arr = [];
console.log(Object.prototype.toString.call(arr)); // [object Array]
let date = new Date();
console.log(Object.prototype.toString.call(date)); // [object Date]
배열의 toString() 메서드는 배열 요소들을 콤마(,)로 연결한 문자열을 반환합니다.
let arr = [1, 2, 3];
console.log(arr.toString()); // "1,2,3"
문자열의 toString() 메서드는 문자열 자체를 반환합니다. 이 메서드는 거의 사용되지 않지만, 문자열 객체에서 명시적으로 호출할 수 있습니다.
let str = "Hello, World!";
console.log(str.toString()); // "Hello, World!"
let bool = true;
console.log(bool.toString()); // "true"
날짜 객체의 toString() 메서드는 사람이 읽을 수 있는 형태로 날짜와 시간을 반환합니다.
let date = new Date();
console.log(date.toString()); // "Tue Jun 02 2024 14:52:00 GMT+0000 (Coordinated Universal Time)"
함수 객체의 toString() 메서드는 함수의 소스 코드를 포함한 문자열을 반환합니다.
function example() {
console.log("함수입니다.");
}
console.log(example.toString());
// "function example() {
// console.log("함수입니다.");
// }"
8. 사용자 정의 - 커스텀 객체에서의 toString()
toString() 메서드를 재정의하여 원하는 문자열 표현을 반환할 수 있습니다.
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
toString() {
return `Person [name=${this.name}, age=${this.age}]`;
}
}
let person = new Person("John", 30);
console.log(person.toString()); // "Person [name=John, age=30]"
get() set() - class (1) | 2024.06.14 |
---|---|
@ 스코프 팩키지 - npm (1) | 2024.06.07 |
웹 번들러 (Web bunbler) (0) | 2024.05.29 |
>> , ~~ 유용한 비트 연산자 (1) | 2024.05.27 |
padStart() , padEnd() - 공백채우기 (0) | 2024.05.27 |