[javascript] Operator

Operator


++, -- operator

  • 자바의 증감연산자와 동일
let testNumPlus = 3;
const resultNumPlus = ++testNumPlus;
console.log(`testNumPlus: ${testNumPlus}`);
console.log(`resultNumPlus: ${resultNumPlus}`);
-> testNumPlus: 4
-> resultNumPlus: 4

let testNumMinus = 3;
const resultNumMinus = testNumMinus--;
console.log(`testNumMinus: ${testNumMinus}`);
console.log(`resultNumMinus: ${resultNumMinus}`);
-> testNumMinus: 2
-> resultNumMinus: 3

logical operator

  • ||(or), &&(and), !(not)
  • || 의 경우 조건(들)을 차례로 체크하며 true가 나오는 순간 멈춘다.
  • expression이나 함수 등의 연산이 필요한 조건은 뒤로 빼는 것이 효율적
  • && 의 경우도 마찬가지. false 가 나오는 순간 멈춘다.
const condition1 = true;
const condition2 = 1 < 2;
function condition3() {
    for(let i = 1; i < 10; i++){
        console.log(i);
    }
    return true;
}

console.log(`or: ${condition1 || condition2 || condition3()}`);
-> or: true

equality

  • ==, ===
  • ==
  • loose equality, with type conversion
  • 타입을 맞추어 값을 비교
  • '5' == 5 -> true
  • ===
  • strict equality, no type conversion
  • 타입과 값을 함께 비교
  • 웬만하면 이쪽을 쓰자
  • '5' === 5 -> false
  • object 끼리 비교
const object1 = {nm: 'woogie', age: 28};
const object2 = {nm: 'woogie', age: 28};
const object3 = object1;

console.log(object1.nm === object2.nm); -> true
console.log(object1 === object2);       -> false
console.log(object1 === object3);       -> true
  • 참고
console.log(0 == false);           -> true
console.log(0 === false);          -> false
console.log('' == false);          -> true
console.log('' === false);         -> false
console.log(null == undefined);    -> true
console.log(null === undefined);   -> false

Ternary operator

  • 조건에 따른 간단한 로직일 때만 사용
let conditionTernary = 'woogie';
let resultNumTernary = 0;
conditionTernary === 'woogie' ? resultNumTernary = 1 : resultNumTernary = 0;
console.log(resultNumTernary); -> 1

switch

  • 조건에 따른 로직이 같은 경우에는 아래와 같이 쓸 수 있다.
let conditionSwitch = 'woogie3';
let resultSwitch1 = '1';
let resultSwitch2 = '2';
let resultSwitch3 = '3or4';
switch(conditionSwitch){
    case 'woogie1':
        console.log(resultSwitch1);
        break;
    case 'woogie2':
        console.log(resultSwitch2);
        break;
    case 'woogie3':
    case 'woogie4':
        console.log(resultSwitch3);
        break;
} -> 3or4

links

social