1. 표현식과 연산자
표현식은 평가되어 하나의 값이 되는 것으로 표현식과 동등한 관계다 또한 표현식은 값처럼 사용 할수도 있다.
값이 위치하는 자리에 표현식이 위치할수 있다.
ex) 산술 연산자 + 좌,우에는 숫자가 값이 위치해야 한다. 숫자 값으로 평가 될 수 있는 표현식이라면 숫자값 대신 사용할 수 있다.
2. 문과 표현식
문이 실행되면 무슨 일인가 일어나게 된다. 변수 선언문을 실행하면 변수가 선언되고, 할당문을 실행하면 할당이 된다. 조건문을 실행하면 주어진 조건에 따라 코드 블록의 실행이 결정되고 반복문을 실행하면 코드 블록이 반복 실행 된다.
표현식은 평가되어 값을 만들지만 그 이상의 행위는 할수 없다. 문은 var,let,const,function,class와 가타은 선언 키워드를 사용하여 함수를 생성 하기도 하고 if,for,while 문과 같은 제어문을 생성하여 프로그램의 흐름을 제어한다.
x = 100은 변수 x에 할당한 값 100으로 평가되어 변수 foo에는 100이 할당된다.
3.연산자란?
연산자는 하나 이상의 표현식을 대상으로 산술,할당,비교,논리,타입연산 등을 수행해 하나의 값을 만든다.
4.산술연산자
산술연산자는 수학적 계산을 수행해 새로운 숫자 값을 만든다. 산술 연산을 할수 없는 경우에는 NaN값을 반환 한다. 또한 산술연산자들 중 이항 산술 연산자와 단항 산술 연산자로 구분할수 있다.
4-1.이항 산술 연산자
2개의 피연산자를 대상으로 연산하는 숫자 타입의 값을 만든다. + , - , * , / , %
4-2.단항 산술 연산자
1개의 피연산자를 대상으로 연산한다. 증가/감소(++/-)연산자는 피연산자의 값을 변경하는 부수 효과가 있다. 증가/감소 연산을 하면 피연잔자의 값이 바뀐다.
연산자의 위치에 따라 계산하는 방법이 다름
- 피연산자 앞에 위치한 경우
4-3.문자열 연결 연산자
+연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동장한다.
5.할당 연산자
6.비교 연산자
좌향과 우향의 피연산자를 비교하여 불리언 값을 반환할때 사용한다. if문이나 for문과 같은 제어문의 조건식에서 주로 사용한다.
6-2.대소 관계 비교 연산자
대소 관계 비교 연산자는 피연산자의 크기를 비교하여 불리언 값을 반환한다.
7.삼항 조건 연산자
조건식의 평가 결과에 따라 반환할 값을 결정한다. 조건식 ? 조건식이 ture일때 반환할 값 : 조건식이 false일때 반환할 값
8.논리 연산자
논리 연산자는 우향과 좌향의 피연산자를 논리 연산한다.
|| (or) / &&(and) / ! (아니다)
9.쉼표 연산자
왼쪽 연산자부터 차례대로 평가하고 마지막 평가 결과를 반환한다.
10.그룹 연산자
그룹 연산자의 경우 연산자의 우선 순위를 1순위로 높일 수 있다.
ex) 10 * (2 + 3) // 50
11.typeof연산자
자신의 뒤에 위치한 연산자의 데이터 타입을 문자열로 반환 한다. 7가지 문자열 “string”, “number”, “boolean”, “undefined”, “symbol”, “object”, “function” 중 하나를 반환한다.