2 minute read

조건문

​ : 특정 조건이 참(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;