: 자바스크립트 엔진에게 내리는 명령
x = 100;
: 할당문 -> 이 자체가 표현식인 문var x = 5 * 10;
: 선언문 -> 값으로 평가될 수 없다.: 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입 연산 등을 수행해 하나의 값을 만듬
: 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만듬, 산술 연산을 할 수 없는 경우에는 NaN을 반환함
: 2개의 피연산자를 대상으로 연산하여 숫자 타입의 값을 만든다.
: 1개의 피연산자를 대상으로 연산
x++
/x--
: 선대입 후 증가/감소++x
/--x
: 선증가/감소 후 대입+
단항 연산자: 피연산자에 어떠한 효과도 없고 음수를 양수로 반환하지도 않는다. 그러나 숫자타입이 아닌 피연산자에 사용하면 피연산자를 숫자타입으로 변환하여 반환 -> 부수효과는 없음-단항연산자
양수를 음수로, 음수를 양수로 반환, 숫자타입이 아닌 피연산자에 사용하면 숫자타입으로 변환하여 반환 -> 부수효과는 없음: +
연산자는 피연산자 중에 하나가 문자일 경우 문자열 연결 연산자로 동작
1 + true
같은 경우 자바스크립트 엔진이 true를 1로 강제 변환한 후 연산을 수행할 수 있음 주의 -> 암묵적 타입 변환(Implict coercion) or 타입 강제 변환(Type coercion) -> 타입 변환에서 더 자세히!: 우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당, 좌항의 변수에 값을 할당 -> 부수효과 있음
y = x = 1;
: 연쇄 할당(Chained assignment), 할당 연산 표현식을 다른 변수에 할당할 수도 있다.-> 비교문파트에서 따로 정리함
: 조건식의 평가 결과에 따라 반환할 값을 결정, 자바스크립트에서 유일한 삼항 연산자, 부수효과 없음
조건식 ? 조건식이 true일때 반환할 값 : 조건식이 false일때 반환할 값;
-> 표현식임
!
뒤에 오는 값이 true면 false로 반환, false면 true로 반환!!true === true
: boolean 값이 아닌것을 boolean값으로 return 해주기 위해 사용1)Truthy and Falsy
: true로 변환할 수 있는 값을 Truthy, false로 변환할 수 있는 값을 Falsy라고 함
Falsy 값 목록
0 -0
false
undefined
null
("")
""''
NaN
➡️ 제외하고 다 Truthy
➡️ and 연산자가 먼저 연산되고 후에 OR연산자가 연산됨
➡️ 연산자 우선순위가 AND연산자가 더 높기 때문
:왼쪽부터 차례대로 피연산자 평가 후 끝나면 마지막 피연산자의 결과 반영
:()그룹 내 표현식을 최우선으로 평가
: typeof 뒤에 위치한 피연산자의 데이터 타입을 문자열로 반환
Reference