코딩 공부/Javascript

[Javascript 기초] 형변환 - 가온 코딩

Cosmic-dust 2022. 8. 2. 13:00
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
반응형