⏳ 2023. 5. 8. - 2023. 5. 14.
연산자
산술
// 산술(Arithmetic)
console.log(1 + 2); // 3
console.log(3 - 5); // -2
console.log(3 * 4); // 12
console.log(10 / 2); // 5
console.log(7 % 5); // 2
할당
// 할당(Assignment)
const a = 1;
let b = 3;
b = b + 1;
b += 1;
b -= 1;
b *= 4;
b /= 2;
b %= 3;
증감
// 증감(Increment & Decrement)
let a = 5;
console.log(a++); // 5
console.log(a); // 6
console.log(++a); // 7
console.log(a); // 7
console.log(a--); // 7
console.log(a); // 6
console.log(--a); // 5
console.log(a); // 5
부정
// 부정(Negation)
console.log(true); // true
console.log(!true); // false
// !truthy => false
// !falsy => true
console.log(!null); // true
console.log(!{}); // false
truthy 값은 부정하면 false가 되고, falsy 값은 부정하면 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); // false
// 작음
console.log(a < b); // true
// 작거나 같음
console.log(a <= b); // true
논리
// 논리(Logical)
// AND
console.log(true && true); // true
console.log(true && 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(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 병합(Nullish Coalescing)
const n = 0;
// OR 연산자를 사용한 경우
console.log(n || 7); // 7
// Nullish 병합 연산자를 사용한 경우
console.log(n ?? 7); // 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
?? 연산자는 null과 undefined를 제외한 처음 만나는 값을 반환한다.
모두 null이나 undefined면 가장 마지막 값을 반환한다.
삼항
// 삼항(Ternary)
const a = 1;
console.log(a > 2 ? "2보다 크다." : "2보다 작다."); // "2보다 작다."
전개
// 전개 연산자(Spread Operator)
// 배열
const a = [1, 2, 3];
console.log(a); // [1, 2, 3]
console.log(...a); // 1 2 3
const b = [4, 5, 6];
console.log(a.concat(b)); // [1, 2, 3, 4, 5, 6]
console.log([...a, ...b]); // [1, 2, 3, 4, 5, 6]
// 객체
const obj1 = { x: 1, y: 4 };
const obj2 = { y: 2, z: 5 };
const newObj1 = Object.assign({}, obj1, obj2);
console.log(newObj1); // { x: 1, y: 2, z: 5 }
const newObj2 = { ...obj1, ...obj2 };
console.log(newObj2); // { x: 1, y: 2, z: 5 }
// 매개 변수
function fn(x, y, z) {
console.log(x, y, z);
}
fn(a); // [1, 2, 3] undefined undefined
fn(...a); // 1 2 3
전개 연산자는 짱짱 편한 것 같다. 쿸쿸쿸
'카카오테크캠퍼스 > 필수과정' 카테고리의 다른 글
[카카오테크캠퍼스 5주차] JavaScript 마스터: 선택적 체이닝 (0) | 2023.05.10 |
---|---|
[카카오테크캠퍼스 5주차] JavaScript 마스터: 구조 분해 할당 (0) | 2023.05.10 |
[카카오테크캠퍼스 5주차] JavaScript 마스터: 데이터 타입 확인 (0) | 2023.05.09 |
[카카오테크캠퍼스 5주차] JavaScript 마스터: Truthy & Falsy (0) | 2023.05.09 |
[카카오테크캠퍼스 5주차] JavaScript 마스터: 형 변환(Type Conversion) (0) | 2023.05.09 |