산술연산자
다른 언어들과 거의 동일하다.
var a = 1 + 2; // 3
var b = 5 - 3; // 2
var c = 2 * 4; // 8
var d = 6 / 4; // 1.5
var e = 8 % 3; // 2
/ 와 % 는 조금 다른데, / 는 그냥 나누기 이고, % 는 나머지이다.
문자열 연산자
+ 연산자는 숫자만 더하는게 아니라 문자열과 다른 데이터도 연결해준다.
var string = 'hello ' + 'world'; // 'hello world'
var string2 = 'hi' + 9; // 'hi9'
var string3 = 1 + 'what' + 2; // '1what2'
var string4 = 3 + 4 + 'wow'; // '7wow'
문자열이 아닌 데이터는 문자열로 바꿔서 연결한다.
마지막 string4는 왼쪽부터 더해나가기 때문에 , 3 + 4를 한후 7 + wow 를 하여 '7wow' 가 된것 !
증감연산자
var i = 0;
i++; // i는 1이 됩니다.
alert(i++); // 1을 먼저 alert한 후에 ++되어 i는 2가됩니다.
alert(++i); // 먼저 ++한 후에 alert하여 3을 alert하게 됩니다.
i = i + 1; // i++과 같습니다.
대입연산자
변수에 값을 대입하는 연산자이다. 복합대입연산자도 있다. +=, -=, /=, *=, %=
var i = 10;
i += 2; // 12 (i = i + 2와 같음)
i -= 3; // 9 (i = i - 3과 같음)
i *= 4; // 36 (i = i * 4와 같음)
i %= 5; // 1 (i = i % 5와 같음)
비교연산자
100 == 10 * 10; // true
6 != 2 * 2; // true
2 * 5 > 3 * 3; // true
6 * 3 <= 2 * 9; // true
삼항연산자
삼항 연산자는 (조건 ? 참 : 거짓)
var ternary = i > 10 ? 18 : 3
논리연산자
&&,||, ! 이다.
&&는 앞의 값이 참인 값일때 다음 값으로 넘어가고
||는 앞의 값이 거짓인 값일때 다음 값으로 넘어간다. 넘어가지 못한다면 넘어가기 전의 값 반환
거짓인 값에는
'', 0, false, NaN, undefined, null, document.all
등이 있다. 이외에는 모두 참 ! 논리연산자는 true, false를 연산하는게 아닌, 참인 값, 거짓인 값들을 연산하는 것이다.
=== 비교연산자
자바스크립트는 변수에 자료형(문자열, 숫자, 불린, 객체 등등)을 나타내는 부분이 없다.
var 하나 뿐 !
그래서 편할 것 같지만 불편한 점이 많다. 이런 경우이다.
0 == ''
0 == false
0 == []
위의 세 개 모두 true이다. 숫자 0 이 false도 되고 빈 문자열도되고, 빈 배열도 된다. 자바스크립트에서 ==으로
비교 연산을 할 때 자동으로 자료형 바꿔버리고 값만 비교해서 이런 일이 발생한다.
이런 경우 방지하고자 자바스크립트에는 === 연산이 있다. 값 뿐만 아니라, 자료형까지 같아야 true가 된다.
0 === '' // false
0 === false // false
0 === [] // false
이제 셋 다 false가 뜬다. 자바스크립트에서 같은 값인지 비교 할 때는 꼭 ===를 쓰자.
자료형까지 다른지 비교할 때는 !==를 쓰자.
'개인공부 > JavaScript' 카테고리의 다른 글
ES6 에서의 추가된 Javscript 데이터 타입 및 기본 데이터 타입 (0) | 2020.07.27 |
---|---|
Core JavaScript (0) | 2020.07.27 |
함수(Function) (0) | 2020.07.14 |
자바스크립트의 객체(Object),배열(Array) (0) | 2020.07.14 |
JavaScript 개요 및 변수 (0) | 2020.07.14 |