JavaScript - Chapter 2-4. 연산자

nhs312
0

Basic

  • Operator (연산자) : 처리를 행하기 위한 기호
  • Operand (피연산자) : 처리되는 변수/리터럴
  • C와 동일한 것들은 언급하지 않는다. 차이점 있는 것들만 언급.

산술 연산자

표준적인 사칙연산을 시작해서 수치와 관련된 연산을 하는 것이 산술 연산자의 역할.
+, -, *, /, %, ++, -- 가 있다.

가산 연산자



소수점 계산


기본형과 참조형의 차이 (=)연산자

기본형은 값을 직접 저장하기 때문에 아래 코드에서 y 의 출력값 1이 나오는 것은 자연스럽다.
참조형은 어드레스를 저장하기 때문에 ary2 를 출력해도 수정된 값이 나온다. 단순한 참조전달.

등가 연산자(==)와 동치 연산자(===)

등가 연산자(==) 는 기본적으로 데이터형이 달라도 형변환을 해서 같다고 보여야겠다 시도한다.
다만, 배열이나 객체등의 참조형 데이터에는 주의를 기울여야 한다.

증가 연산자와 감소 연산자 (++, --)

증가/감소 연산자는 오퍼랜드에 대해서 1을 가산/감산 하는 역할을 한다.

이 연산자는 오퍼랜드에 어디 붙이느냐에 따라 pre-increment, post-increment 로 나뉜다.(전치, 후치)

대입 연산자
지정된 변수에 값을 대입하는 연산자다. 

비교 연산자
좌변/우변의 값을 비교해서 그 결과를 true/false로 반환하는 연산자.


참고로 == 연산자의 경우 배열/객체를 비교하게 되는 경우가 있는데
이 경우는 참조 장소가 동일한지를 판단하는 것이고 값을 판단하는 것이 아니다. 한마디로 어드레스가 같은 경우에 true를 반환한다는 것.


비트 연산자와 비트 논리 연산자 - C와 동일( &, ^, | 등등..)
정수 값을 2진수로 나타냈을 경우에 각 행에 대해서 bit단위로 논리계산을 행하는 연산을 말한다.

논리 연산자

AND(&&) / OR(||) 연산자의 경우 좌측 식만 판정되고 우측 식은 판정되지 않는 경우가 있다.
&& 연산자는 좌측 식이 false 라고 판정된 시점에서 조건식 전체가 false 가 된다. 따라서 우측 식은 판정, 실행이 되지 않는다.

위 코드에서처럼 논리 연산자의 뒤쪽에는 실제로 값을 조작하려는 식이 포함되서는 안된다.
|| 연산자도 마찬가지이다.


그 외 연산자

delete
오퍼랜드에 지정한 변수나 배열 요소, 객체의 프로퍼티를 삭제한다.

  • 배열 요소를 삭제하면 해당 요소만 삭제되고 인덱스 번호는 변하지 않는다.
  • 프로퍼티를 삭제하면 프로퍼티가 참조하는 객체가 사라지진 않는다.


typeof
오퍼랜드에 지정한 변수/리터럴의 데이터형을 스트링으로 반환한다.


연산자의 우선순위와 결합순서

기억해야 할 것은 하나. 복잡한 식을 기술할 경우에는 괄호를 사용하여 알아보기 쉽게 하자.
Tags:

댓글 쓰기

0댓글

댓글 쓰기 (0)