유형 변환

JavaScript에서 개발자는 의도적으로 또는 의도하지 않게 값 유형을 변경할 수 있습니다.

이를 유형 변환이라고 합니다.

의도적으로 다른 유형으로 변환하는 경우

– 명시적 강제 또는 타이핑

의도와 상관없이 자동 변환

– 암묵적 강박 또는 유형 강박

명시적 형식 변환의 예

var num = 5;
var str = num.toString();
console.log(typeof str, str);    // string 5
console.log(typeof num, num);          // number, 5

toString() 메서드를 사용하여 값의 유형을 강제하고 의도적으로 변환할 수 있습니다.

이때 num 변수에 할당된 값 5는 문자열 “5”로 대체되지 않습니다.

임시 문자열 “5”가 잠시 동안 생성되고 다시 사용되고 폐기됩니다.

typeof 메소드로 num 변수의 타입을 확인하면 여전히 원시 타입 숫자로 확인된다.

암시적 형식 변환의 예

var num = 5;
var str = num + '';
console.log(typeof str, str);    // string 5
console.log(typeof num, num);    // number 5

num 변수 5와 문자열 ”의 값에 대해 문자열 연산을 수행하면 자동으로 숫자를 암시적으로 문자열로 변환하여 표현식을 평가합니다.

이 경우에도 num 변수에 할당된 값 5는 문자열 ‘5’로 대체되지 않습니다.

잠시 동안 임시 문자열 “5”가 생성, 사용 및 삭제됩니다.

typeof 메소드로 num 변수의 타입을 확인하면 여전히 원시 타입 숫자로 확인된다.

묵시적 타입 변환은 개발자가 의도적으로 변환하는 것이 아니므로 이런 일이 발생하지 않도록 주의해서 코드를 작성하는 것이 좋다고 생각할 수 있지만 실제로는 암시적 타입 변환 자체를 의도적으로 사용할 수 있고 코드를 읽기 쉽게 할 수 있습니다. . . 간단한 예로 이미 선언된 변수의 값이 숫자이고 명시적 타입 변환을 할 때 값을 바꾸지 않고 잠시 문자열로 변환해야 하는 경우 toString() 메서드이지만 암시적 형식 변환을 통해 문자열 연산자로 쉽게 사용할 수 있습니다. 숫자 + ” 식을 다음과 같이 쓸 수 있습니다.

상황에 따라 명시적 유형 변환 또는 암시적 유형 변환을 효율적으로 사용하는 것이 좋습니다.