Published 2020. 7. 15. 20:25
728x90
반응형

형변환(casting)

 

> 문자열과 숫자의 연산에서의 형변환 예시

function test(){
    console.log("7" + 7, typeof("7" + 7));
    console.log("7a" - 7, typeof("7a" - 7)); //NaN(Not a Number) "number"
    console.log("7" - 7, typeof("7" - 7)); //number로 자동형변환
    console.log("7" * 7, typeof("7" * 7)); //number로 자동형변환
    console.log("7" / 7, typeof("7" / 7)); //number로 자동형변환
    console.log("7" % 7, typeof("7" % 7)); //number로 자동형변환

    console.log("7" == 7, typeof("7" == 7)); //number로 자동형변환
    console.log("7" != 7, typeof("7" != 7)); //number로 자동형변환
    
    //엄격비교연산자
    console.log("7" === 7, typeof("7" === 7)); //값, 타입까지 동일해야 true리턴
    console.log("7" !== 7, typeof("7" !== 7)); //값, 타입 둘중하나라도 다르면 true리턴
}

Number | parseInt | parseFloat

 

Number

숫자리턴 "123" -> 123, 문자인 경우 NaN을 리턴

 

parseInt

정수리턴 , 좌측부터 형변환 가능한데까지 변환 후 리턴

 

parseFloat

실수리턴, 좌측부터 형변환 가능한데까지 변환 후 리턴

 

>예시

function test1(){
    let money = "100.123원";
    console.log(Number(money));  //NaN
    console.log(parseInt(money));  //100 
    console.log(parseFloat(money));  //100.123
}
function test2(){
    let money = "100.123";
    console.log(Number(money));  //100.123
}

논리형으로 형변환

값이 있으면 true로 변환, 값이 없으면 false로 변환

 

>예시

function test(){
    //Boolean(): 전달된 인자를 boolean형으로 변환
    //true (0이아닌숫자는 다 true)
    console.log(Boolean(1));
    console.log(Boolean(-10));
    console.log(Boolean("hello"));
    console.log(Boolean('false'));
    console.log(Boolean(document.getElementById("num1"))); //존재하는 객체 true

    let x;
    //false
    console.log(Boolean(0));
    console.log(Boolean(""));
    console.log(Boolean(document.getElementById("aaaaaaaaaaaaaaaaaa"))); //null은 false로 변환
    console.log(Boolean(x)); //undefined는 false

    let elem = document.getElementById("num1");
    if(elem){
        console.log("true실행");
    }
    else{
        console.log("false실행");
    }

    //대입연산
    //존재하면 앞에 num1나옴 없으면 뒤에꺼 num2나옴
    let el = document.getElementById("num1") || document.getElementById("num2");
    console.log(el);
}

 

반응형

'프로그래밍 > JavaScript' 카테고리의 다른 글

07.17(함수 클로저)  (0) 2020.07.17
07.16(함수)  (0) 2020.07.16
07.14(Array 메소드)  (0) 2020.07.14
07.13(Date 객체와 Date 메소드)  (0) 2020.07.13
07.10(Math 메소드)  (0) 2020.07.10
복사했습니다!