자바스크립트에서의 숫자와 논리 연산자 간의 묵시적 변환 예제

자바스크립트는 동적 타입 언어로, 다른 자료형 간의 연산에 대해 자동으로 형 변환을 수행합니다. 이러한 형 변환 중에서 숫자와 논리 연산자 간의 묵시적 변환이 가장 일반적으로 사용되는데, 이는 때때로 예상치 못한 결과를 초래할 수 있습니다.

예를 들어, 다음과 같은 코드를 살펴보겠습니다:

var num = 10;
var result = num && true;

console.log(result); // true

위의 코드에서는 && 논리 연산자를 사용하여 num 변수가 참인 경우에만 result에 true 값을 할당하도록 했습니다. 하지만 num 변수는 숫자인데, 묵시적 형 변환이 일어나 숫자가 불리언(true, false)으로 변환됩니다.

자바스크립트에서는 0을 제외한 모든 숫자를 참으로 간주하기 때문에 num 변수의 값이 0이 아닐 경우 result에 true가 할당되었습니다.

이처럼 묵시적 형 변환은 코드의 가독성을 저하시킬 수 있고, 버그를 유발할 수 있습니다. 이를 방지하기 위해서는 명시적인 형 변환을 사용하거나, 연산 시에 자료형을 명확히 지정해 주는 등의 방법을 활용해야 합니다.

마지막으로, 코드에서 묵시적 형 변환이 일어날 수 있는 부분을 주석으로 표시해주는 것도 좋은 습관입니다.

#References: MDN Web Docs - Type conversion (typecasting) in JavaScript