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 |