JS 연산자

현성·2023년 11월 27일
0

산술 연산자 (Arithmetic)

console.log(1 + 2); // 3
console.log(5 - 7); // -2
console.log(3 * 4); // 12
console.log(10 / 2); // 5
console.log(7 % 5); // 2 (나머지 연산자)

할당 연산자 (Assignment)

// a = a + 2;
a += 2;

// a = a - 2;
a -= 2;

// a = a * 2;
a *= 2;

// a = a / 2;
a /= 2;

// a = a % 2;
a %= 2;

증감 연산자 (Increment & Decrement)

let a = 3;

console.log(a++); // 3
console.log(a); // 4
let a = 3;

console.log(++a); // 4
console.log(a); // 4
let a = 3;

console.log(a--); // 3
console.log(a); // 2
let a = 3;

console.log(--a); // 2
console.log(a); // 2

부정 연산자 (Negation)

console.log(!true) // false
console.log(!false) // true

console.log(!0) // true
console.log(!!0) // false
console.log(!!!0) // true

console.log(!null) // true
console.log(!undefined) // true
console.log(!NaN) // true
console.log(!'') // true

비교 연산자 (Comparison)

const a = 1;
const b = 3;

// 동등(형 변환)
console.log(a == b) // false

// 부등(형 변환)
console.log(a != b) // true

// 일치 (추천)
console.log(a === b) // false

// 불일치
console.log(a !== b) // true


console.log(a > b) // false

console.log(a < b) // true

console.log(a >= b) // false

console.log(a <= b) // true

논리 (Logical)

// AND 연산자
console.log(true && true) // true
console.log(true && false) // false
console.log(false && true) // false
console.log(false && false) // false

console.log(1 && 0) // 0
console.log(1 && 2 && 0) // 0
console.log(1 && 0 && 2) // 0
console.log(0 && 1 && 2) // 0

console.log('A' && 'B' && '') // ''
console.log('A' && 'B' && 'C') // 'C'

// OR 연산자
console.log(true || true) // true
console.log(true || false) // true
console.log(false || true) // true
console.log(false || false) // false

console.log(0 || 1) // 1
console.log(false || 0 || {}) // {}
console.log(false || [] || null) // []
console.log(function () {} || undefined || '') // f () {}
console.log(false || 0 || NaN) // NaN

Nullish 병합 (Nullish Coalescing)

const n = 0;

// OR 연산자를 사용한 경우 (truthy값을 찾아 반환합니다.)
const num1 = n || 7;
console.log(num1) // 7

// Nullish 병합 연산자를 사용한 경우 (null, undefined를 제외한 값을 반환합니다.)
const num2 = n ?? 7
console.log(num2) // 0
console.log(null ?? 1) // 1
console.log(undefined ?? 2) // 2
console.log(null ?? undefined) // undefined
console.log(null ?? 1 ?? 2) // 1
console.log(false ?? 1 ?? 2) // false
console.log(0 ?? 1 ?? 2) // 0

삼항 연산자 (Ternary)

const a = 1;

if (a < 2) {
  console.log('참!')
} else {
  console.log('거짓!')
}


// 삼항 연산자
// 조건 ? 참 : 거짓
console.log(a < 2 ? '참!' : '거짓!') // 참!
function getAlert(message) {
  return message ? message : '메시지가 존재하지 않습니다.'
}

console.log(getAlert('안녕하세요~')) // 안녕하세요~
console.log(getAlert('')) // 메시지가 존재하지 않습니다.

전개 연산자 (Spread Operator)

  • 배열
const a = [1, 2, 3];
const b = [4, 5, 6];

const c = a.concat(b)
console.log(c) // [1, 2, 3, 4, 5, 6]

const d = [...a, ...b]
console.log(d) // [1, 2, 3, 4, 5, 6]
  • 객체
const a = { x: 1, y: 2 }
const b = { y: 3, z: 4 }

const c = Object.assign({}, a, b)
console.log(c) // { x: 1, y: 3, z: 4 }

const d = { ...a, ...b }
console.log(d) // { x: 1, y: 3, z: 4 }
profile
👈🏻 매일 꾸준히 성장하는 개발자 !

0개의 댓글