[JS] 조건문, 연산자
조건문
: 특정 조건이 참(true)인 경우 실행하는 명령문. If…else문으로 실행한다.
if (조건1) {
//조건 1이 참(true)인 경우 실행
} else if (조건2) {
//조건1이 거짓(false)면서 조건2가 참(true)인 경우 실행
} else {
//조건1과 조건2가 모두 false인 경우 실행
}
-
esle if문과 else문은 옵션이다. 사용될 수도, 사용되지 않을 수도 있다. 하지만 if문과 else문은 2번이상 사용할 수 없지만 else ifㄹ문은 여러번 사용할 수 있다.
-
조건식이 false로 취급하는 6가지 경우
if (false) if (undefined) if (null) if (0) if (NaN) if ("") // 공백 문자열
연산자
### - 산술 연산자
피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자값을 만든다. 산술이 불가능한 경우 NaN을 반환한다
이항 산술 연산자 | 의미 | 부수효과 |
---|---|---|
+ | 덧셈 | X |
- | 뺄셈 | X |
* | 곱셈 | X |
/ | 나누기 | X |
% | 나머지 | X |
단항 산술 연산자 | 의미 | 부수효과 |
---|---|---|
++ | 증가 | O |
– | 감소 | O |
+ | 어떠한 효과도 없다. 음수를 양수로 반전하지도 않는다. | x |
- | 양수를 음수로, 음수를 양수로 반전한 값을 반환한다. | x |
증가/감소(++/–) 연산자는 위치에 의미가 있다.
let x = 5, result;
// 선할당 후증가(postfix increment operator)
result = x++;
console.log(result, x); // 5 6
// 선증가 후할당(prefix increment operator)
result = ++x;
console.log(result, x); // 7 7
// 선할당 후감소(postfix decrement operator)
result = x--;
console.log(result, x); // 7 6
// 선감소 후할당 (prefix decrement operator)
result = --x;
console.log(result, x); // 5 5
숫자 타입이 아닌 피연산자에 + 단항 연산자를 사용하면 피연산자를 숫자타입으로 변환하여 반환한다. 피연산자를 변경하는 것은 아니고 숫자 타입으로 변환한 값만을 생성해 반환한다. -단항 연산자는 피연산자의 부호를 반전한 값을 반환한다.
// 아무런 효과가 없다.
+10; // -> 10
+(-10); // -> -10
let x = '1';
// 문자열을 숫자로 타입 변환한다.
console.log(+x); // 1
// 부수 효과는 없다.
console.log(x); // "1"
// 불리언 값을 숫자로 타입 변환한다.
x = true;
console.log(+x); // 1
// 부수 효과는 없다.
console.log(x); // true
// 불리언 값을 숫자로 타입 변환한다.
x = false;
console.log(+x); // 0
// 부수 효과는 없다.
console.log(x); // false
// 문자열을 숫자로 타입 변환할 수 없으므로 NaN을 반환한다.
x = 'Hello';
console.log(+x); // NaN
// 부수 효과는 없다.
console.log(x); // "Hello"
// 부호를 반전한다.
-(-10); // -> 10
// 문자열을 숫자로 타입 변환한다.
-'10'; // -> -10
// 불리언 값을 숫자로 타입 변환한다.
-true; // -> -1
// 문자열은 숫자로 타입 변환할 수 없으므로 NaN을 반환한다.
-'Hello'; // -> NaN
- 산술 연산자
할당 연산자 | 예 | 동일표현 | 부수효과 |
---|---|---|---|
= | x = 5 | x = 5 | O |
+= | x +=5 | x = x + 5 | O |
-= | x -= 5 | x = x - 5 | O |
*= | x *= 5 | x = x * 5 | O |
/= | x/= 5 | x = x / 5 | O |
%= | x %/ 5 | x = x % 5 | O |
- 논리연산자(Logical Operator)
//학생이면서 여성일때 (AND연산자)
isStudent && isFemale;
ture && true // true
ture && false // false
false && false //false
//학생이거나 여성일때 (OR연산자)
isStudent || isFemale;
ture || true // true
ture || false // false
false || false //false
// 학생이 아니면서 여성일때 (NOT연산자)
// truthy, flasy를 반전시킴
!isStudent && isFemale;