문자열과 숫자 간의 암시적 형 변환을 이용한 자바스크립트 트릭

자바스크립트에서는 문자열과 숫자 간에 암시적 형 변환이 발생할 수 있습니다. 이러한 형 변환을 이용하면 간단한 트릭을 수행할 수 있습니다. 이번 블로그 포스트에서는 몇 가지 예제를 통해 문자열과 숫자 간의 암시적 형 변환을 적용하는 자바스크립트 트릭을 알아보겠습니다.

1. 문자열과 숫자의 덧셈

문자열과 숫자를 더하는 경우 자바스크립트는 문자열로 변환하여 덧셈 연산을 수행합니다. 예를 들어, 다음과 같은 코드를 실행한다고 가정해 봅시다.

let num = 5;
let str = "10";
let result = num + str;
console.log(result); // "510" 출력

위의 코드에서 num 변수에는 숫자 5가 할당되고, str 변수에는 문자열 “10”이 할당됩니다. 그리고 result 변수에 numstr을 더한 결과가 저장됩니다. 따라서 console.log(result)를 실행하면 “510”이 출력됩니다. 즉, 숫자 5와 문자열 “10”이 연결된 결과가 출력됩니다.

2. 문자열과 숫자의 곱셈

문자열과 숫자를 곱하는 경우, 자바스크립트는 숫자로 변환하여 곱셈 연산을 수행합니다. 다음 예제를 살펴보겠습니다.

let num = "5";
let str = 10;
let result = num * str;
console.log(result); // 50 출력

위의 코드에서 num 변수에는 문자열 “5”가 할당되고, str 변수에는 숫자 10이 할당됩니다. 그리고 result 변수에 numstr을 곱한 결과가 저장됩니다. 따라서 console.log(result)를 실행하면 50이 출력됩니다.

3. 숫자와 문자열의 비교

자바스크립트에서는 숫자와 문자열을 비교할 때 다음과 같은 암시적 형 변환이 발생합니다.

console.log("5" > 10);  // false 출력
console.log("10" > 5);  // true 출력

위의 코드에서 "5" > 10은 10이 문자열 “5”보다 큰지를 비교합니다. 암시적 형 변환에 의해 “5”가 숫자 5로 변환되고, 따라서 10은 5보다 크므로 false가 출력됩니다. 반대로 "10" > 5는 5가 문자열 “10”보다 큰지를 비교합니다. 여기서도 암시적 형 변환에 의해 “10”이 숫자 10으로 변환되고, 10은 5보다 크므로 true가 출력됩니다.

위의 예제들은 자바스크립트에서 문자열과 숫자 간의 암시적 형 변환을 이용하여 다양한 트릭을 수행할 수 있다는 것을 보여줍니다. 그러나 코드를 작성할 때 이러한 형 변환이 예상치 못한 결과를 초래할 수 있으므로 주의해야 합니다. 항상 코드를 이해하고 명확하게 작성하는 것이 중요합니다.

더 자세한 내용을 알고 싶다면 MDN web docs를 참조해주세요.

#자바스크립트 #형변환