자바스크립트 수식(expression)은 자바스크립트 인터프리터가 값을 만들어 내기 위해 평가할 수 있는 구절을 의미한다. 기본 수식으로 리터럴이나 변수명이 있으며, 리터럴 수식의 값은 리터럴 값 자체이며, 변수 수식의 값은 해당 변수에 담겨 있거나 해당 변수가 가리키는 값이다.
기본 수식을 사용하는 예제는 다음과 같다.
"Hello!" // 문자열 리터럴 10.5 // 숫자 리터럴 true // 불린 리터럴 null // 널값 리터럴 /hello/ // 정규표현식 리터럴 {name:jerry} // 객체 리터럴 [1,3,5,7,9] // 배열 리터럴 function(x,y){return x+y;} // 함수 리터럴 i // 변수 i count // 변수 count
자바스크립트 수식은 간단한 수식을 조합해서 만들 수도 있다. 다음 예제를 보자.
"Hello!" + x + y 100 - i 100 + i - j
연산자는 피연산자의 개수에 따라 분류할 수 있다.
이항 연산자: 두 수식을 하나의 복합 수식으로 결합한다. 다음 예제를 보자.
x + y // 덧셈 i - j // 뺄셈
단항 연산자: 단 하나의 수식을 단 하나의 복합 수식으로 변환한다. 다음 예제를 보자.
-10 // 단항 마이너스(부정) typeof x // 반환형
삼항 연산자: 세 개의 수식을 단 하나의 복합 수식으로 결합한다. 다음 예제를 보자.
i ? x : y // 조건 연산자
연산자 우선순위는 연산이 수행되는 순서를 좌우한다. 기본 규칙은 덧셈과 나눗셈은 덧셈과 뺄셈보다 먼저 수행되고, 할당은 우선순위가 매우 낮으며, 거의 항상 마지막에 수행된다는 것이다. 다음 예제를 보자.
result = x + y*z;
곱셈 연산자인 *는 덧셈 연산자인 +보다 우선순위가 높기 때문에 곱셈은 덧셈보다 먼저 수행된다. 게다가 할당 연산자인 =은 우선순위가 가장 낮기 때문에 할당은 오른쪽에 있는 연산이 모두 완료된 후에야 수행된다.
연산자 결합법칙은 우선순위가 동일한 연산이 수행되는 순서를 명시한다.
왼쪽에서 오른쪽으로: 연산이 왼쪽에서 오른쪽 방향으로 수행되는 것을 의미한다. 예를 들어, 다음의 두 수식은 같다.
result = x + y + z; result = ((x + y) + z);
오른쪽에서 왼쪽으로: 연산이 오른쪽에서 왼쪽으로 수행되는 것을 의미한다. 예를 들어, 다음의 두 수식은 같다.
result = !!!x; result = !(!(!x));
← 이전 | 홈 | 다음 → |