[JS] String() 과 toString()의 차이

DongDong·2022년 12월 10일
0

📌 String() 과 toString()

저는 항상 String()을 사용하여 캐스팅을 했는데, 옆 자리 동료가 toString()을 통해
캐스팅 하는 것을 보고 문득 차이가 궁금해져서 알아보았습니다.

🔎 두 함수의 차이점

두 함수는 사실 근본적인 차이점이 있었습니다.

String() :인자로 들어온 모든 것들을 문자열로 한번 감싸서 리턴해주는 함수
toString() : 2 ~ 32까지 숫자를 인자로 입력받아 해당 진수로 바꾸어 리턴

toString의 인자로 아무것도 넣지 않았을 때 디폴트 값인 10진수를 출력해주는 것이였고,
인자가 아무것도 없을 때 String 함수와 동일한 결과가 있는 것 처럼 보였을 뿐이였습니다.

또한 String()은 전역 객체이며
toString()은 Number 전역 객체의 프로토타입에 속해있는 메서드입니다.

따라서 아래와 같이 toString은 숫자에만 사용할 수 있고 String은 모든 값에 사용이 가능합니다.

var _null = null;
var _undefined = undefined;
var _array = [];
var _object = {};
// String 메서드
console.log(String(_null)); // "null"
console.log(String(_undefined)); // "undefined"
console.log(String(_array)); // ""
console.log(String(_object)); // "[object Object]"

// toString 메서드
console.log( toString(_null) ) // error
profile
중요한건 꺾이지 않는 마음

0개의 댓글