반응형
✅ 1. 이터널레이터 (Iterator) 이터러블(Iterable)의 객체(array, Map, Set 등)의 요소를 한 번에 하나씩 순차적으로 접근하는 인터페이스를 이터러블(Iterable)이라고 합니다, next() 메서드를 가지며, 이 메서드는 { value: 값, done: boolean } 형태의 객체를 반환합니다. done이 true가되면 반복이 종료되었음을 의미합니다.const arr = [1, 2, 3, 4];// 배열의 iterator 객체를 생성const iter = arr[Symbol.iterator]();// iterator 객체를 사용해서 배열의 각 원소를 반복하여 출력console.log(iter.next()); // { value: 1, done: false }console.l..
✅ 1. 옵셔널 체이닝 (Optional Chaining, ?.) 옵셔널 체이닝(Optional Chaining)은 객체의 중첩된 속성 또는 매세드에 접근할 시, 중간에 있는 값이 null이나 undefined일 경우 에러를 발생시키지 않고 undefined를 반환하게 해주는 방법으로 기본 구조는 다음과 같습니다객체?.속성옵셔널 체이닝의 특징: 옵셔는 체이닝은 ?. 앞의 대상이 null이거나 undefined이면, 그 즉시 평가를 멈추고 undefined를 반환해 준다.사용하는 이유: 데이터가 필수적이지 않을 경우 에러(Cannot read property ...of undefined)로 인하여 프로그램이 종료되는 것을 방지하기 위함 const user = { name: "Chaeyoung", age: ..
✅ 1. 비동기 작업이란?자바스크립트는 기본적으로 싱글 스레드(Single thread)로 동작하는 언어로, 한 번에 하나의 작업만 처리할 수 있습니다. 그런데 시간이 오래 걸리는 작업까지 순서대로 기다리면 전체 실행 속도가 매우 느려집니다. 그래서 이러한 문제를 해결하기 위해 등장한 것이 바로 비동기 처리입니다. // 1. 비동기 작업 시작console.log("비동기 작업을 시작합니다");// 2. 비동기 작업 시뮬레이션 (예: API 호출, 파일 읽기 등)setTimeout(() => { console.log("5초 후 실행");}, 5000);console.log("비동기 작업 종료"); ➡️ 실행 결과비동기 작업을 시작합니다비동기 작업 종료5초 후 실행 👉 시간이 걸리는 작업은 뒤로 미루고 ..
✅ 1. Symbol(심볼) 이란?Symbol은 자바스크립트 ES6에 도입된 원시 타입(Primitive Type)중 하나로 고유하고 변경 불가능한 값입니다. 주로 객체의 키(Key)로 사용해 충돌을 방지할 때 활용됩니다.const id = Symbol("id");console.log(id); // Symbol(id)console.log(typeof id); // symbol✅ 2. Symbol 특징 고유성 보장: 같은 설명(description)을 줘도 하상 다른 값을 반환함const a = Symbol("test");const b = Symbol("test");console.log(a === b); // false문자열 변환 불가: 자동으로 문자열이 반환되지 않음const sym = Symbol("..
✅ 1. BigInt - 큰 정수 처리Javascript에서 일반적인 숫자(Number)는 2^53 - 1(약 9경)까지 처리할 수 있지만 그 이상의 수까지 처리하기 위해서는 BigInt를 사용해서 처리해야 합니다. BigInt를 생성하려면 다음과 같습니다.// ✅ BigInt 생성하기 - 숫자 뒤에 n을 붙이거나 BigInt() 함수 사용const big1 = 1234567890123456789012345678901234567890n; // 숫자 뒤에 n을 붙임const big2 = BigInt("1234567890123456789012345678901234567890"); // BigInt() 함수 사용console.log(big1); // 12345678901234567890123456789012..
✅ 1. 정적 메서드 (Static Method)정적 메서드(Static Method)는 클래스 자체에서 호출되는 함수로, 인스턴스 없이 클래스 이름으로 직접 사용합니다. 유틸리티 함수나 공용 기능에 자주 사용되는 메서드입니다.class MathUtil { static randomInt(min, max) { // 정적 메서드 return Math.floor(Math.random() * (max - min + 1)) + min; }}console.log(MathUtil.randomInt(1, 20)); // ✅ 1~20 사이의 랜덤 정수✅ 2. 정적 필드 (Static Field) 정적 필드(Static Field)는 클래스 자체에 속하는 함수로, 인스턴스가 아닌 클래스에 바로 접근합니다. ..