무효 클릭 IP 추적 중...
자바스크립트

[자바스크립트 기초] Implicit Type Coercion

꼬예 2021. 8. 7.

자바스크립트는 다른 언어와 다르게 자동적으로 타입을 변경해주는 기능이 있습니다. 

이 기능은 잘 알고 있으면 편리하지만 잘 모르면 다양한 버그를 유발할 수 있으니 확실하게 알고 넘어 가도록 합시다. 

 

 

+ 연산

console.log('I am ' + 23 + ' years old');

output :

다른 언어 같은 경우 타입이 다른 값들을 연결했을때 타입 에러가 발생하는데요.

자바스크립트에서는 23 이라는 Number 타입을 String 타입으로 변경해 에러를 발생시키지 않습니다. 

 

console.log('23'+'10' +3)

output :

마찬가지로 숫자이지만 string형태인 값들과 + 연산을 할때도 위와 같은 원리가 적용이 됩니다.

이때 여러분이 아셔야할것은 지금까지 해왔던건 + 연산이라는 것입니다.!

 

그럼 다른 연산은 어떻게 작동이 될까요?

 

- 연산

console.log('23'-'10' -3);

output :

- 연산에서는 모든 값이 string 으로 변경되는게 아니라 숫자로 변경되는 걸 알 수 있습니다. 

 

참고로,

console.log('hello'-'10' -3);

- 연산을 하면서 숫자값이 아닌 'hello'같은 값을 넣게 되면, 당연히 숫자형태로 바꿀수 없으니,

NaN 이라는 값을 반환합니다. 

 

 

 

*(곱하기)  ,  / (나누기), Boolean

console.log('23' * '2'); 
console.log('23' / '2'); 
console.log('23' > '2');

output :

 

이 외에도 곱하기, 나누기 , boolean 연산들은 모두 String 을 Number형태로 자동으로 바꾼다는거 챙겨 가시기 바랍니다. 

 

  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글