2 분 소요

논리 연산자

1. 연산자 줄여쓰기

기본값 줄여쓰기
x = x+y x+=y
x = x - y x-=y
x= x * y; x*=y
x= x / y; x/=y
let num = 10;
num = num + 5;
console.log(num)
// -------줄여쓰기--------//
let num2 = 10;
num2 += 5;
console.log(num2);

0

2. string concatenation

  • 숫자와 문자를 결합하면 숫자가 문자로 인식이 됨
console.log('1'+2);

1

3. 증가/감소 연산자

  • 숫자 앞에 ++(–)을 입력 할 경우 값을 1만큼 증가(감소) 시킴
let counter = 2;
const preIncrement = ++counter;  
// counter = counter + 1;
// preIncrement = counter;
console.log(`preIncrement: ${preIncrement}, counter: ${counter}`);
const postIncrement = counter++;
// postIncrement = counter;
// counter = counter + 1;
console.log(`postIncrement: ${postIncrement}, counter: ${counter}`);
const preDecrement = --counter;
// counter = counter - 1;
// preDecrement = counter;
console.log(`preDecrement: ${preDecrement}, counter: ${counter}`);
const postDecrement=counter--;
// postDecrement = counter;
// counter = counter - 1;
console.log(`postDecrement: ${postDecrement}, counter: ${counter}`);

2

* counter 앞에 ++를 할 경우 preIn(De)crement와 counter가 같지만

counter뒤에 ++를 할경우 counter는 +n1이 됨

4. 비교연산자

console.log(10<6);
console.log(10<=6);
console.log(10>6);
console.log(10>=6);
console.log(10 == 5);
console.log(10 != 5);

3

const a = 1;
const b = "1";

console.log(a === b);

4

5. OR (||)

  • 여러 개 중 하나라도 true면 true , 즉, 모든 값이 false 일때만 fasle를 반환

    예) 스티브 잡스는 한국인 이거나(OR) 남자이다. = true

    예) 스티브 잡스는 한국인 이거나(OR) 여자이다. = false

  • OR은 첫번째 true를 발견하는 즉시 평가를 멈춤

    예) 스티브 잡스는 남자이거나(OR) 한국인이다 (남자를 발견하는 즉시 true 판정)

const value1 = true;

const value2 = 4 < 2;

console.log(`or: ${value1||value2||check()}`);

5

* value2가 false일지라도 value1이 true 이기때문에 true로 판정

* 심플한 value를 앞에.. expression 이나 함수호출 하는것은 맨 뒤에 배치하는것이 좋음

const name = "Mike";
const age = 30;
if(name === 'Tom' || age >19){
  console.log('통과');
}

6

* name이 Tom이거나 age가 19보다 크면 통과를 보여줄것 → 통과 (나이가 19보다 크기때문에)

6. AND(&&)

  • 모든 값이 true 면 true. 즉, 하나라도 false 면 false를 반환함

    예) 스티브잡스는 한국인 이고(AND) 남자이다. = false

  • AND는 첫번째 false를 발견하는 즉시 평가를 멈춤

    예) 스티브 잡스는 한국인이고(AND) 남자이다. → 한국인을 발격하는 즉시 false반환

const value1 = true;
const value2 = 4 > 2;
console.log(`and: ${value1&&value2&&check()}`);

function check(){

  for(let i=0; i<10; i++){
    console.log('😱');
  }
  return false;
}

7

const name = "Mike";
const age = 30;
if(name === 'Tom' && age >19){
  console.log('통과');
} else {
  console.log('돌아가.');
}

8

7. NOT(!)

  • 반대로 변환
  • ture면 false / false면 true
const age = prompt('나이가..?');
const isAdult = age > 19
if(!isAdult){
  console.log('돌아가..')
}

9

10

* 나이가 19보다 높지 않으면 (성인이 아니면) 돌아가..를 반환

8. Ternary operator: ?

  • condition ? value1 : value2;

    (조건에 맞니? 맞으면 vaule1, 아니면 value2

const name = 'Tom'
console.log(name==='Mike'? 'yes': 'no');

11

댓글남기기