Type Conversion은 manually convert함
Coercion은 자바스크립에서 자동으로 변환해줌
Type Conversion
const inputYear = '1991';
console.log(inputYear + 18);
// prints 199118
inputYear가 string이기 때문에
그대로 이어 붙여서 199118이 콘솔에 찍힘
참고로 Type Conversion할 때 Number 첫 글자 대문자로 해줘야 함
const inputYear = '1991';
console.log(Number(inputYear), inputYear);
// prints 1991 '1991'
console.log(Number(inputYear) + 9);
// 2000
참고로 데이터 타입에 따라 콘솔에 찍히는 컬러가 다름 :)
Type Coercion
console.log('I am ' + 33 + ' yeard old')
// prints I am 33 yeard old
여기서 33 yeard old라고 프린트되는 이유는
자바스크립트에서 + operator를 넣으면 자동으로 Type Coercion을 해주기 때문
즉, 33는 number지만 string으로 변환해서 같이 출력함
덕분에 String(33) 이런 식으로 Type Conversion을 안해줘도 됨
but Type Coercion이 항상 적용되는 건 아님! ⭐️⭐️⭐️
console.log('23' - '10' - 3);
// prints 10
console.log('23' + '10' + 3);
// prints 23103
console.log('23' * '2');
// prints 46
- operator는 string을 number로 변환해서 산수 계산이 됐지만
+ operator는 string 값을 이어 붙이기만 한걸 볼 수 있음
let n = '1' + 1;
n = n - 1;
console.log(n);
// prints 10
n을 1이랑 1 붙이니까 11 string이 됨
n 11에서 1을 빼니까 10일 출력된다
-는 string을 number로 변환하니까 빼기 산수를 한거임
'Programming > JavaScript' 카테고리의 다른 글
The switch Statement (0) | 2022.08.25 |
---|---|
Truthy and Falsy Values (0) | 2022.08.21 |
Coding Challenge #2 - BMI Comparison using if / else statements (0) | 2022.08.21 |
Taking Decisions: if / else Statements (0) | 2022.08.16 |
Strings and Template Literals (0) | 2022.08.09 |