본문 바로가기
개인공부/JavaScript

연산자(operator)

by 왕큰새 2020. 7. 14.
728x90

산술연산자

 

다른 언어들과 거의 동일하다. 

 

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가 뜬다. 자바스크립트에서 같은 값인지 비교 할 때는 꼭 ===를 쓰자.

자료형까지 다른지 비교할 때는 !==를 쓰자.