「프론트엔드 개발자를 위한 자바스크립트 프로그래밍」 서적을 참조했으며, 3장에 대한 요약 및 정리를 진행하려고 한다.
연산자
- 단항 연산자: 단 하나의 값에만 적용되는 연산자 ex) 증감 연산자
- 비트 연산자: 메모리에서 숫자를 표현하는 비트를 직접 조작하는 저수준 연산자
- 32bit 중 1bit = 부호(0: 양수, 1: 음수), 31bit = 숫자
- NOT(~) : 피연산자의 1의 보수, 숫자(a)의 부호를 바꾼 후 1을 뺀 결과값
- AND(&) : a와 b 모두 1이어야 1
- OR(|) : a와 b 중 하나라도 1이면 1
- XOR(^) : a와 b가 같으면 0, 다르면 1 (= OR 연산 이후 1을 뺀 결과값)
- 왼쪽 시프트(<<)
- 좌항의 모든 비트를 우항의 숫자만큼 왼쪽으로 움직임
- 피연산자의 부호 유지
- 부호 있는 오른쪽 시프트(>>)
- 비트를 오른쪽으로 움직임
- 부호는 그대로 유지
- 오른쪽으로 움직일 때, 빈 비트가 생기는데 부호 비트(32bit 부분) 다음부터 0으로 채운다
- 부호 없는 오른쪽 시프트(>>>)
- 양수인 경우는 부호 있는 오른쪽 시프트와 같음
- 음수인 경우는 부호 비트가 고려되지 않기 때문에 결과값이 아예 달라짐
- 32bit 중 1bit = 부호(0: 양수, 1: 음수), 31bit = 숫자
- 불리언 연산자
- NOT 연산자 (!)
- ECMAScript 모든 값에 적용 가능
- 피연산자를 불리언 값으로 변환한 뒤 그 결과를 부정한다
- 객체 -> false
- 빈 문자열 -> true
- 비어있지 않은 문자열 -> false
- 숫자 0 -> true
- 0이 아닌 숫자(Infinity 포함) -> false
- null -> true
- undefined -> true
- NaN -> true
- 값을 불리언 타입으로 바꾸는데도 유용
- AND 연산자 (&&)
- 첫번째 조건이 false라면 그 다음 조건은 보지 않는다
- OR 연산자 (||)
- 첫번째 조건이 true라면 그 다음 조건은 보지 않는다
- 첫번째 조건이 true라면 그 다음 조건은 보지 않는다
- NOT 연산자 (!)
- 덧셈 연산자(p.78~)
- 피연산자가 모두 문자열 -> 두 번째 문자열을 첫 번째 문자열에 합침
- 피연산자 중 하나가 문자열 -> 다른 피연산자를 문자열로 변환하고 두 문자를 합침
- 괄호를 넣어줌으로써 인터프리터에서 괄호 안을 먼저 계산하도록 하여 발생하는 오류를 최소화
- 뺄셈 연산자(P.80~)
- 관계 연산자(p.81~)
- 미만
- 초과
- 이상
- 이하
- 동일 연산자(p.83~)
- ==
- 자동으로 타입 변환이 이루어짐 (타입 강제)
- 일치 연산자(p.85)
- ===
- 타입 변환이 이루어지지 않음
'Tech > Javascript' 카테고리의 다른 글
자바스크립트 프로그래밍 4장 (변수와 스코프, 메모리) (0) | 2020.05.05 |
---|---|
자바스크립트 프로그래밍 3장 (언어의 기초) - 3.6~3.8 (0) | 2020.05.01 |
자바스크립트 프로그래밍 3장 (언어의 기초) - 3.1 ~ 3.4 (0) | 2020.04.27 |
자바스크립트 프로그래밍 2장 (Html 속의 자바스크립트) (0) | 2020.04.24 |
자바스크립트 프로그래밍 1장 (0) | 2020.04.23 |