loading

자바스크립트(javascript) - 타입(유형), 형, 변환 개념잡기

 

순번 링크페이지 아래 제목을 클릭하면 해당 링크페이지로 이동 됩니다.
1 JS - 형 변환에 대하여 - (1)
2 JS - 형 변환에 대하여 - (2)
3 JS - 형 변환에 대하여 - (3)
4 JS - 형 변환에 대하여 - (4)
5 JS - 형 변환에 대하여 - (5)
6 JS - 형 변환에 대하여 - (6)

 

▶ toString 메서드

💻 문자열을 반환하는 메서드 

toString() 메서드는 각각의 타입(숫자, 배열, 객체,  부울 값, 등등등)을 문자열로 반환을 해준다.

즉, 형 변환에 자주 사용하며, 어떻게 사용하면 어떤 결과물로 나오는지 예제를 통해서 알아보자.

 

♣ 객체(object) toString 사용

// 일반 객체의 경우 - 1번
function isName(name){
	this.name = name;
}
var myName = new isName('JAVASCRIPT');
console.log(myName.toString()); // "[object object]"


// 일반 객체의 경우 - 2번
var A = {a:'js'};
console.log(A.toString()); // "[object object]"


// 직접 toString 메서드의 객체를 지정할 경우 - 3번
function isName(name){
	this.name = name;
}

isName.prototype.toString = function customIsName(){
	return this.name;
}

var myName = new isName('열공하는사람');
var myName_2 = new isName('javascript 를 열심히 공부하는 사람');
console.log(myName.toString()); // "열공하는사람"
console.log(myName_2.toString()); // "javascript 를 열심히 공부하는 사람"

 

결과 ☞

일반 객체의 경우에는 무조건 "[object object]" 이런 문자열을 반환받는다. (1번, 2번 해당)

 

3번 경우 isName이라는 함수가 [[Prototype]]으로 원래 가지고 있는 toString 메서드를

개발자가 커스텀으로 함수를 만들어서 객체를 지정해서 만들어 주었다. 

 

즉, 원래 가지고 있는 toString 메서드를 customIsName이라는 함수를 만들어서 새롭게 정의했다고

생각하면 쉽다. 그래서 customIsName 함수 내부를 들여다보면 this.name을 반환하게 해 줬고,

 

이제 isName 함수로 생성한 객체는 toString 메서드를 실행할 때 무조건 customIsName의 메서드가

실행이 된다.


 

♣ 배열(Array) toString 사용

var arr = [1, 2, 'js', '열공', 100, true];

console.log(arr.toString()); // "1,2,js,열공,100,true"

 

결과 ☞

위 코드에서 배열은 숫자, 문자열, 부울 값 이렇게 값이 들어있는데, toString 메서드를 이용하면 배열 안에 들어있는

모든 값들을 (,) 콤마로 이어 붙여서 하나의 문자열로 반환을 한다.

 

 

 

반응형

 

♣ 부울(Boolean) toString 사용

var bool = true;

console.log(bool.toString()); // "true"

 

결과 ☞

위 코드에서 bool 변수에 부울 값인 true를 정의해 놓고, toString 메서드를 이용하면 문자열인 "true"로 반환된다.


 

♣ 숫자(Number) toString 사용

// 1번 예제
var num = 10;
console.log(num.toString()); // "10"


// 2번 예제
console.log((100).toString()); // "100"


// 3번 예제 - 10진수를 -> 16진수로
var decimalNum = 200; // 10진수 숫자 5

console.log(decimalNum.toString(2)); // "11001000"
console.log(decimalNum.toString(8)); // "310"
console.log(decimalNum.toString(16)); // "c8"

 

결과 ☞

숫자 타입에서 toString 메서드는 매개변수를 넣을 수 있는데, 그 매개변수의 숫자(2~ 36) 사이의 정수를 넣으면

이에 해당하는 숫자(진수를 나타내는 기수의 값)의 진수로 표현이 된다.

 

10진수 말고도 2,8,16 등등 다른 진수에서 다른 진수로도 가능하다. 결국 이렇게 반환받는 결과물은 당연히 문자열인 숫자로 반환받는다.


 

이렇게 대표적인 것만 살펴보았지만 MDN 개발자 사이트 들어가면 이것보다 더 내용이 많다. 

MDN 사이트

 

이렇게 toString 메서드는 다른 유형에서 메서드를 지원하며, 필요하면

 

MDN 개발 사이트

 

표준 내장 객체 - JavaScript | MDN

이 장은 JavaScript의 모든 표준 내장 객체와 그 메서드 및 속성을 나열합니다.

developer.mozilla.org

 

링크를 걸어 두었으니 확인해서 사용하는 것도 좋다.

반응형

+ Recent posts