자바스크립트는 동적 타이핑 언어로, 변수를 선언할 때 타입을 명시적으로 지정하지 않습니다. 이로 인해 자바스크립트는 묵시적 형 변환을 수행하여 변수나 표현식의 타입을 자동으로 변환합니다. 이번 글에서는 묵시적 형 변환을 이용한 문자열 처리에 대해 알아보겠습니다.
1. 숫자와 문자열의 덧셈
먼저, 숫자와 문자열을 더할 때 자바스크립트는 자동으로 숫자를 문자열로 변환하여 연산합니다. 다음은 이를 보여주는 예제입니다.
let num = 10;
let str = "20";
let result = num + str; // 숫자 10과 문자열 "20"을 더하면 "1020"이 됨
console.log(result); // "1020"
위의 예제에서 num
변수는 숫자 타입이고, str
변수는 문자열 타입입니다. num
과 str
을 더하면, 자바스크립트는 숫자인 num
을 문자열로 자동 변환하고, 두 문자열을 연결하여 “1020”이라는 결과를 반환합니다.
2. 비교 연산자와 문자열
자바스크립트의 비교 연산자(==
와 ===
)는 두 값의 타입을 비교하고 필요에 따라 자동으로 묵시적 형 변환을 수행합니다. 문자열을 숫자로 변환하여 비교하는 경우, 자바스크립트는 문자열을 숫자로 변환하고 비교합니다. 다음은 이를 보여주는 예제입니다.
let num = 10;
let str = "5";
console.log(num == str); // true
console.log(num === str); // false
위의 예제에서 num
변수는 숫자 10이고, str
변수는 문자열 “5”입니다. num
과 str
을 비교할 때 ==
비교 연산자를 사용하면, 자바스크립트는 문자열 “5”를 숫자 5로 변환하여 두 값이 같다고 판단합니다. 그러나 ===
비교 연산자를 사용하면, 자바스크립트는 타입까지 비교하기 때문에 숫자와 문자열은 다르다고 판단합니다.
3. 문자열을 숫자로 변환하기
자바스크립트에서 문자열을 숫자로 명시적으로 변환하는 방법은 여러 가지가 있습니다. parseInt()
와 parseFloat()
함수는 문자열을 정수와 실수로 변환하기 위해 사용됩니다. 다음은 이를 보여주는 예제입니다.
let str = "10";
let num1 = parseInt(str); // 문자열을 정수로 변환
let num2 = parseFloat(str); // 문자열을 실수로 변환
console.log(num1); // 10
console.log(num2); // 10
위의 예제에서 str
변수는 문자열 “10”입니다. parseInt()
함수를 사용하여 str
을 정수로 변환한 결과는 10이 되고, parseFloat()
함수를 사용하여 str
을 실수로 변환한 결과도 10이 됩니다.
4. 결론
자바스크립트에서의 묵시적 형 변환은 강력한 기능으로서, 문자열 처리를 더욱 편리하게 해줍니다. 숫자와 문자열의 덧셈을 통해 자동으로 문자열로 변환되는 것이나, 비교 연산자를 통해 자동으로 숫자로 변환되는 것을 이용하여 많은 문자열 처리 작업을 단순하게 할 수 있습니다.
자바스크립트를 사용할 때 묵시적 형 변환에 주의하여 원하지 않는 결과가 발생하지 않도록 유의해야 합니다. 또한, 문자열을 숫자로 변환하는 경우에는 parseInt()
나 parseFloat()
함수를 명시적으로 사용하여 목적에 맞는 변환을 수행해야 합니다.
자세한 자바스크립트 문법과 묵시적 형 변환에 대해서는 MDN 웹 문서를 참고하시기 바랍니다.
#자바스크립트 #묵시적형변환