연산자와 비교

장바구니를 추적한다고 가정해봅시다. 가격을 더하고, 할인을 적용하고, 합계가 무료 배송 기준을 초과하는지 확인하고, 장바구니가 비어 있을 때 경고를 표시할지 결정합니다. 각 단계마다 연산자가 작동합니다. 즉, 하나 또는 두 개의 값을 받아서 새로운 값을 생성하는 기호입니다. 이 장에서는 숫자에 산술을 수행하는 것부터 값을 비교하고 참-거짓 테스트를 결합하는 것까지 끊임없이 사용하는 연산자들을 다룹니다.
산술과 할당
**산술 연산자**는 이미 알고 있는 수학을 수행합니다: +는 더하고, -는 빼고, *는 곱하고, /는 나눕니다. 만나본 적 없을 수도 있는 하나가 더 있습니다: %는 나머지 연산자로, 나눗셈 후 남은 것을 줍니다.
const total = 8 + 5; // 13
const change = 20 - 13; // 7
const leftover = 17 % 5; // 2, 5는 17에 3번 들어가고 2가 남음
console.log(total); // 13값을 자신에 기반해서 업데이트하려면 단축형이 있습니다. score = score + 10 대신 score += 10을 쓸 수 있습니다. 같은 의미입니다: 현재 값을 가져와 10을 더하고 결과를 다시 저장합니다.
let score = 100;
score += 10; // score는 이제 110
score -= 30; // score는 이제 80
console.log(score); // 80그리고 숫자를 정확히 1씩 올리거나 내리려면 ++과 --이 한 번에 합니다. count++는 1을 더하고, count--는 1을 뺍니다.
let lives = 3;
lives--; // lives는 이제 2
console.log(lives); // 2%를 더합니다. 자신으로부터 값을 업데이트할 때 단축형을 사용하세요: score = score + 10 대신 score += 10입니다. 그리고 ++ 또는 --은 숫자를 1씩 올리거나 내립니다. 이것들을 신뢰하는 데 시간이 걸렸지만, 동일한 수학을 더 짧게 쓴 것입니다. 비교
**비교**는 두 값에 대한 질문을 하고 true 또는 false로 답합니다. 참-거짓 답변은 부울이며, 이는 프로그램이 나중에 결정을 내릴 때 사용하는 것입니다.
가장 많이 사용할 비교는 ===로, "이 둘이 정확히 같은가?"라고 묻습니다.
const answer = 42;
console.log(answer === 42); // true
console.log(answer === 7); // false반대는 !==로, "이 둘이 다른가?"라고 묻습니다. 그리고 순서를 위해 <, >, <=, >=이 있으며, 수학에서처럼 작동합니다: 미만, 초과, 이하, 이상.
const age = 18;
console.log(age >= 18); // true
console.log(age !== 21); // true항상 ===로 비교하세요, ==은 절대 안 됩니다. 더블 이퀄스 버전에는 사람들을 놀라게 하는 특이한 점이 있고, 트리플 이퀄스 버전은 매번 예상한 대로 합니다.
true 또는 false로 답합니다. ===을 동등성을 확인하려면, !==을 "다른가"에, 그리고 <, >, <=, >=을 순서를 위해 사용하세요. ===을 유지하고 ==을 건너뛰세요, 더블 버전에는 놀라움이 있고 트리플 버전은 동작하므로. 논리 연산자와 참 같은 값과 거짓 같은 값
종종 하나 이상의 비교를 결합해야 합니다. **논리 연산자**는 그렇게 하도록 합니다: &&(그리고), ||(또는), !(아닙니다).
&&는 양쪽이 true일 때만 true입니다. ||는 어느 한쪽이 true일 때 true입니다. !는 부울을 그 반대로 뒤집습니다.
const age = 20;
const hasTicket = true;
console.log(age >= 18 && hasTicket); // true, 둘 다 true
console.log(age < 13 || hasTicket); // true, 한쪽이면 충분
console.log(!hasTicket); // false, 뒤집음참 같은 값과 거짓 같은 값이라는 관련된 개념이 있습니다. 참-거짓 설정에서 JavaScript는 일부 비-부울 값을 마치 false인 것처럼 취급합니다. 거짓 같은 값들은 false, 0, ""(빈 문자열), null, undefined, NaN입니다. 다른 모든 것은 참 같은 값으로 간주됩니다.
const name = "";
console.log(!name); // true, 빈 문자열은 거짓 같은 값&&는 "둘 다", ||는 "어느 한쪽", !는 부울을 뒤집습니다. 그 위에 JavaScript는 일부 값을 거짓-같다고 취급합니다: false, 0, "", null, undefined, NaN은 거짓 같은 값들이고, 다른 모든 것은 참 같은 값입니다. 이것이 !name이 "이름이 주어지지 않았다"를 의미하게 합니다. 여기서부터 연산자는 어디로 가는가
연산자들은 언어의 동사입니다: 저장하는 값을 받아서 결과와 결정으로 변환합니다. 산술은 새로운 숫자를 생성하고, 비교는 부울을 생성하며, 논리 연산자는 프로그램이 작동하는 예-또는-아니오 답변으로 이 부울들을 결합합니다.
이 부울들은 자체로는 많이 하지 않습니다. 다음 단계는 그들을 사용해서 코드를 조종하는 것입니다. 체크가 통과할 때 한 분기를 실행하고 실패할 때 다른 분기를 실행합니다. 이것이 조건문 장이 다루는 것입니다. 여기 값들 중 어느 것이든 모호함을 느낀다면, 데이터 타입 장이 숫자, 문자열, 부울의 완전한 처리입니다.

