728x90
반응형
형변환
목차
형변환
1. 왜 필요한가?
(1) 사용자에게 입력받는 경우
(2) 직접 입력한 경우
2. 명시적 형변환
(1) String() 문자형 변환
(2) Number() 숫자형 변환
(3) Boolean()
형변환
String() -> 문자형으로 변환
Number() -> 숫자형으로 변환
Boolean() -> 불린형으로 변환
1. 왜 필요한가?
① 사용자에게 입력받는 경우
const mathScore = prompt("수학 몇점?"); //80
const engScore = prompt("영어 몇점?"); //70
// const result = mathScore + engScore / 2; // 이렇게 되면 나누기가 먼저 실행된다.
const result = (mathScore + engScore) / 2;
console.log(result) // 4035
② 직접 입력한 경우
const mathScore1 = 80;
const engScore1 = 70;
const result1 = (mathScore1 + engScore1) / 2; // 75
prompt로 입력받은 값은 문자형으로 받기 때문이다.
근데 왜 문자형인 8070을 나누는 건 가능했을까?
나누기를 하며 자동 형변환을 했기 때문이다. 이는 편리한 것이 아니라 오류를 더 찾기 힘들게 만든다.
그러므로 명시적 형변환을 해야 한다.
2. 명시적 형변환
(1) String() 문자형 변환
console.log( // console.log는 쉼표로 구문해서 여러 값을 한번에 출력할 수 있다.
String(3), // "3"
String(true), // "true"
String(false), // "false"
String(null), // "null"
String(undefined) // "undefined"
)
(2) Number() 숫자형 변환
console.log(
Number("1234"), // 1234
Number("asdfasdf"), // NaN
Number(true), // 1
Number(false), // 0
Number(null), //0
Number(undefined) //NaN
)
console.log(
Number(0), // 0 false
Number('0'), // 0 true
Number(''), // 0 false
Number(' ') // 0 true
)
(3) Boolean()
flase 숫자 0, 빈 문자열 "", null, undefined, NaN 외에는 모두 true로 변환
console.log(
Boolean(1), //true
Boolean(123), //ture
Boolean("javascript") //true
)
console.log(
Boolean(0), //false
Boolean(""), //false
Boolean(null), //false
Boolean(undefined), //false
Boolean(NaN) //false
)
참고자료
코딩앙마 - 자바스크립트 기초 강좌 : 100분 완성(https://youtu.be/KF6t61yuPCY)
728x90
반응형
'코딩 공부 > Javascript' 카테고리의 다른 글
[Javascript 기초] switch(스위치) - 가온 코딩 (0) | 2022.08.03 |
---|---|
[Javascript 기초] 반복문(for, while, do while) + break, continue - 가온 코딩 (0) | 2022.08.02 |
[Javascript 기초] 기본, 비교, 논리 연산자, 조건문- 가온 코딩 (0) | 2022.08.02 |
[Javascript 기초] 메시지가 뜨는 alert, prompt, confirm - 가온 코딩 (0) | 2022.08.02 |
[Javascript 기초] 변수, 자료형 - 가온 코딩 (0) | 2022.08.02 |