JS는 연산하기 전에 우선 숫자로 변환.
값 타입 | 변환값 |
Undefined | NaN |
Null | +0 |
Boolean | true : 1, false : 0 |
Number | 변환 전/후 같음 |
String | 값이 숫자면 숫자로 연산. 단 더하기(+)는 연결 |
var value;
log(10 + value); // value의 값을 지정하지 않아 Undefined가 설정되었음. (10 + Undefined)일 경우 undefined를 변환하면 NaN(Not-a-Number)이므로 실행결과 NaN
log(10 + null); // null의 변환값은 0이므로 10
log(10 + true); // true의 변환값은 1이므로 11
log(10 + flase); // false의 변환값은 0이므로 10
log(10 + "123"); // "123"은 string타입으로 10123
log(123 - "23"); // 빼기(-)에서는 숫자로 변환함. 100
산술연산자(-, *, /, %)
*연산자
log(10*"A"); // "A"는 문자열이므로 Not-a-Number인 NaN을 반환함.
/연산자
NaN 반환 : 양쪽의 평가결과가 하나라도 숫자가 아닐때, 분모/분자가 모두 0일 때
분모, 분자가 0일 때 : 분모가 0이면 Infinity 반환. 분자가 0이면 0 반환.
alert(123/"a");
alert(0/0);
alert(1/0);
alert(0/1);
// 선생님은 log를 사용해서 나도 사용해봤지만 log를 찾을 수 없다며 오류가 남. 어쩔수없이 alert를 사용해 구성.
% 연산자
'javascript' 카테고리의 다른 글
관계연산자, 동등/부등/일치/불일치 연산자 (0) | 2021.09.02 |
---|---|
단항연산자, 후치, 전치, 논리 NOT연산자, 유니코드, UTF (0) | 2021.09.02 |
할당연산자, 해석/실행 순서, 산술연산자 (0) | 2021.08.25 |
연산자(Operator) (0) | 2021.08.16 |
데이터타입, Number, String, Undefined, Null, Boolean, Object (0) | 2021.08.15 |