자바스크립트는 다른 언어와 다르게 자동적으로 타입을 변경해주는 기능이 있습니다.
이 기능은 잘 알고 있으면 편리하지만 잘 모르면 다양한 버그를 유발할 수 있으니 확실하게 알고 넘어 가도록 합시다.
+ 연산
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형태로 자동으로 바꾼다는거 챙겨 가시기 바랍니다.
'자바스크립트' 카테고리의 다른 글
[자바스크립트 기초] " || && 는 어떤 기능을 할까 ?" (short Circuiting) (0) | 2021.12.27 |
---|---|
[자바스크립트 기초] == vs === 차이 (0) | 2021.08.08 |
[자바스크립트 기초] if | else 조건문 (0) | 2021.06.05 |
[자바스크립트 기초] 문자열(string)| 변수 합치기 (0) | 2021.06.05 |
[자바스크립트 기초] 문자열(string) 여러줄 쓰기 | multi line (0) | 2021.06.05 |
댓글