Javascript Operator
1. 산술 연술자 (Arithmetic Operators)
1 | var x = 5; |
+ 연산자는
덧셈 연산과 문자열 연결 연산을 수행한다.- 연산 대상이 모두 숫자인 경우 : 덧셈 연산
- 그 외의 경우 : 문자열 연결 연산
2. 대입 연산자 (Assignment Operators)
1 | var x; |
3. 비교 연산자 (Comparison Operators)
- == : 동등비교 형변환 후, 비교한다.
- === : 일치비교 타입까지 일치하여라 true를 반환
- != : 부등비교
- !== : 불일치비교
- ? : 삼항 연산자
1 | var x = 5 |
4. 논리 연산자 (Logical Operator)
1 | // && (논리곱) 연산자 |
5. 단축 평가
논리연산자가 Boolean 값과 함께 사용되지 않을 경우, 둘중 1개가 반환된다.
- true || anything true
- false || anything anything
- true && anything anything
- false && anything false
JavaScript는 빈문자열을 true로 인식한다.
6. 타입 연산자 (Type Operator)
- typeof : 변수의 자료형을 문자열로 반환한다.
- instanceof : 객체가 동일 객체형의 인스터스이면 true를 반환한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15typeof 'John' // returns string
typeof 3.14 // returns number
typeof NaN // returns number
typeof false // returns boolean
typeof [1, 2, 3, 4] // returns object
typeof {name:'John', age:34} // returns object
typeof new Date() // returns object
typeof function () {} // returns function
typeof myCar // returns undefined (설계적 결함)
typeof null // returns object (설계적 결함)
function Person(){}
var me = new Person()
me instanceof Person // true
7. !!
!!은 피연산자를 boolen으로 변환하는 것이다.
1
2
3
4
5
6
7
8console.log(!!1); // true
console.log(!!0); // false
console.log(!!'string'); // true
console.log(!!''); // false
console.log(!!null); // false
console.log(!!undefined); // false
console.log(!!{}); // true
console.log(!![]); // true객체(배열 포함)의 경우 빈 객체라도 존재하기만하면 true로 변환된다.
객체의 존재 확인 후 그 결과를 반환해야 하는 경우, !!를 사용하면
강제로 피연산자를 boolean으로 형 변환 할 수 있다.
1 | function checkExist(obj) { |