Basic
- Operator (연산자) : 처리를 행하기 위한 기호
- Operand (피연산자) : 처리되는 변수/리터럴
- C와 동일한 것들은 언급하지 않는다. 차이점 있는 것들만 언급.
산술 연산자
표준적인 사칙연산을 시작해서 수치와 관련된 연산을 하는 것이 산술 연산자의 역할.
+, -, *, /, %, ++, -- 가 있다.
가산 연산자
소수점 계산
기본형과 참조형의 차이 (=)연산자
기본형은 값을 직접 저장하기 때문에 아래 코드에서 y 의 출력값 1이 나오는 것은 자연스럽다.참조형은 어드레스를 저장하기 때문에 ary2 를 출력해도 수정된 값이 나온다. 단순한 참조전달.
등가 연산자(==)와 동치 연산자(===)
등가 연산자(==) 는 기본적으로 데이터형이 달라도 형변환을 해서 같다고 보여야겠다 시도한다.다만, 배열이나 객체등의 참조형 데이터에는 주의를 기울여야 한다.
증가/감소 연산자는 오퍼랜드에 대해서 1을 가산/감산 하는 역할을 한다.
이 연산자는 오퍼랜드에 어디 붙이느냐에 따라 pre-increment, post-increment 로 나뉜다.(전치, 후치)
대입 연산자
지정된 변수에 값을 대입하는 연산자다.
비교 연산자
좌변/우변의 값을 비교해서 그 결과를 true/false로 반환하는 연산자.
참고로 == 연산자의 경우 배열/객체를 비교하게 되는 경우가 있는데
이 경우는 참조 장소가 동일한지를 판단하는 것이고 값을 판단하는 것이 아니다. 한마디로 어드레스가 같은 경우에 true를 반환한다는 것.
비트 연산자와 비트 논리 연산자 - C와 동일( &, ^, | 등등..)
정수 값을 2진수로 나타냈을 경우에 각 행에 대해서 bit단위로 논리계산을 행하는 연산을 말한다.
논리 연산자
AND(&&) / OR(||) 연산자의 경우 좌측 식만 판정되고 우측 식은 판정되지 않는 경우가 있다.&& 연산자는 좌측 식이 false 라고 판정된 시점에서 조건식 전체가 false 가 된다. 따라서 우측 식은 판정, 실행이 되지 않는다.
그 외 연산자
delete오퍼랜드에 지정한 변수나 배열 요소, 객체의 프로퍼티를 삭제한다.
- 배열 요소를 삭제하면 해당 요소만 삭제되고 인덱스 번호는 변하지 않는다.
- 프로퍼티를 삭제하면 프로퍼티가 참조하는 객체가 사라지진 않는다.
typeof
오퍼랜드에 지정한 변수/리터럴의 데이터형을 스트링으로 반환한다.
연산자의 우선순위와 결합순서
기억해야 할 것은 하나. 복잡한 식을 기술할 경우에는 괄호를 사용하여 알아보기 쉽게 하자.