반응형
☑️ 1. 스프레드 연산자 (...)스프레드 연산자는 배열이나 객체를 펼쳐 복사하거나, 함수인자로 전달할 때 사용되며 객체나 배열의 요소를 펼처서 복사 또는 병합할 때 사용되는 연산자입니다. 배열 예시const arr1 = [1, 2, 3];const arr2 = [...arr1, 4, 5, 6]; // arr1 요소를 펼처 arr2에 추가console.log(arr2); // [1, 2, 3, 4, 5, 6]const str1 = ["Hello"];const str2 = [...str1, " ", "World"].join(""); // join을 사용해 arr1 arr2 문자 합치기console.log(str2); // Hello World객체 예시const nobj1 = { a: 1, b: 2 };c..
✅ 1. 배열 구조 분해배열 구조 분해는 배열의 값을 순서대로 변수에 담을 수 있습니다.const arr = [1, 2, 3];const [x, y] = arr;console.log(x); // 1console.log(y); // 2 기본값을 지정할 수도 있습니다 (값이 없을 경우 대체)// 기본 값 지정 (값이 없을 때 대체)const arr = [10];const [a, b = 20] = arr;console.log(a); // 10;console.log(b); // 20; 값을 건너뛰고 필요한 것만을 가져올 수 있습니다.const arr = [1, 2, 3, 4];const [first, , third] = arr;console.log(first); // 1console.log(third); // ..
✅ 1. 템플릿 리터럴(Templae literal)템플릿 리터럴이란 백틱( ` )을 사용하여 문자열을 작성하는 방법으로 변수나 표현식을 더욱 쉽게 문자열 안에 삽입하는 기능입니다. 여러 줄 문자열에 작성도 가능합니다.const name = "Jammy";const age = 19;// 기존 문자열 방식const speak1 = "Hello, My Name is" + name + "I'm " + age + "years old";// 템플릿 리터럴 방식const speak2 = `Hello, My Name is ${name}, I'm ${age} years old`;console.log(speak2);// Result: Hello, My Name is Jammy, I'm 19 years old ✅ 장점: ..
✅ 1. 화살표 함수란?Javascript의 화살표 함수(Arrow Function)은 ES6(ECMAScript 2015)에 도입된 간결한 함수 표현식 문법으로 function 키워드 대신 => (화살표)를 사용하여 함수를 작성합니다. 주로 익명 함수, 콜백 함수 작성 시 더 짧고 간결하게 쓰기 위해 사용합니다.특징function 키워드 없이 작성 가능 -> 코드의 간결함함수 내부 this가 상위 스코프의 this를 그대로 사용익명 함수가 주로 쓰임 -> 이벤트 핸들러, 콜백에 적합arguments 객체가 없음 (필요시 나머지 매개변수 사용)✅ 2. 기본 문법화살표 함수는 기본적으로 function 대신 => 기호를 사용해 함수를 정의합니다. 함수 몸체가 한 줄이라면 중괄호( { } )와 return ..
✅ let 과 const 기본 개념1️⃣ let 재할당 가능한 변수를 선언할 때 사용블록 스코프(중괄호 { } 안에서만 유효)let이전에 사용한 var과 달리 호이스팅 시 undefined 초기화 없이 TDZ(Temporal Dead Zone)적용let kg = 80;kg = 72; // ✅ kg는 재할당 가능console.log(`he is ${kg}kg`); // ✅ he is 72kg2️⃣ const 재할당 불가능한 변수를 선언할 때 사용블록 스코프 동일 적용그러나 **값이 불변(immutable)""이라는 뜻은 ❌ -> 객체나 배열 내부 값은 변경 가능const nickname = "paul smith";// nickname = "Harry Potter"; // ❌ 재할당 불가const user ..
1. 그래프 데이터 구조그래프는 일반적으로 인접 리스트 또는 인접 행렬로 표현되며, 인접 리스트를 사용한 방식은 다음과 같습니다.class GraphData { constructor() { this.adjacencyList = {}; } addVertex(vertex) { if (!this.adjacencyList[vertex]) { this.adjacencyList[vertex] = []; } } addEdge(vertex1, vertex2) { this.adjacencyList[vertex1].push(vertex2); this.adjacencyList[vertex2].push(vertex1); }}2. 너비 우선 탐색 (BFS)BFS에서 각 노드를 방문..