본문 바로가기

개발일지157

[25] Undefined와 null의 차이 2024. 11. 27.
[24] Map, Filter, Reduce 1. map() 메서드기능배열의 모든 요소에 대해 제공된 콜백 함수를 실행한 결과값을 모아 새로운 배열을 반환합니다.원본 배열은 변경되지 않습니다. 사용법arr.map(callback(currentValue[, index[, array]])[, thisArg]) callback: 각 요소를 처리하는 함수.currentValue: 현재 처리 중인 배열의 요소.index (선택): 현재 요소의 인덱스.array (선택): map이 호출된 배열 자체.thisArg: 콜백 함수 내부에서 this로 사용할 값을 지정 (선택).    item: 현재 요소 값.index: 현재 요소의 인덱스.array: 원본 배열.  2. filter() 메서드기능배열의 모든 요소에 대해 주어진 조건(테스트)을 만족하는 요소만 모아.. 2024. 11. 27.
[23] 전개 연산자(Spread Operator) 전개 연산자란?전개 연산자는 배열이나 객체의 내용을 풀어서(spread) 다른 배열이나 객체에 복사하거나 값을 결합할 때 사용됩니다.배열의 요소, 객체의 속성을 쉽게 복사하거나 병합할 수 있는 유용한 문법입니다.전개 연산자는 ... 형태로 작성 (1) 배열에서의 전개 연산자1.1 배열 결합기존 배열을 합칠 때, concat() 대신 전개 연산자를 사용하면 더 간결하게 작성할 수 있습니다.const arr1 = [1, 2, 3];const arr2 = [4, 5, 6];const arr3 = [7, 8, 9];// 기존 방식 (concat 사용)const arrWrap = arr1.concat(arr2, arr3);console.log(arrWrap); // [1, 2, 3, 4, 5, 6, 7, 8, 9.. 2024. 11. 27.
[22] 구조 분해 할당 (Destructuring) 구조 분해 할당(Destructuring)구조 분해 할당은 ES6에서 도입된 문법으로, 배열이나 객체의 속성을 간단히 추출하여 개별 변수에 할당할 수 있게 해줍니다. 이를 통해 코드가 간결해지고 읽기 쉬워지며, 클린 코드를 작성할 수 있습니다. 1. 기본 개념배열 구조 분해 할당: 배열의 요소를 개별 변수에 쉽게 할당.객체 구조 분해 할당: 객체의 속성을 개별 변수에 쉽게 할당.  예제 1: 기본 객체 할당예제에서는 unicorn 객체가 있고, 이 객체의 속성(accessory, animal, color)을 각각 변수로 추출합니다.const unicorn = { accessory: 'horn', animal: 'horse', color: 'purple',};const { accessory, anim.. 2024. 11. 27.
[21] Closure 클로저란?클로저(Closure)는 함수 내부에 정의된 함수(inner function)가 외부 함수(outer function)의 변수 및 스코프에 접근할 수 있는 개념을 말합니다. 외부 함수가 실행을 종료하고, 해당 변수가 더 이상 외부에서 접근할 수 없는 상황에서도 내부 함수는 외부 함수의 변수에 접근할 수 있습니다.핵심 개념:외부 함수가 실행을 종료해도 내부 함수는 외부 함수의 스코프를 "기억"합니다.클로저는 자바스크립트에서 스코프와 실행 컨텍스트의 특징을 활용한 개념입니다.  위 사진의 코드 동작 자세히 설명outerFunction('outside') 실행:outerVariable에 'outside'가 할당됩니다.outerFunction은 내부 함수 innerFunction을 반환합니다.반환된 i.. 2024. 11. 26.
[20] Event Loop 1,2,3을 출력하려고 한다.3000은 3초이다.-> 1 출력 후 3초후에 2가 출력됨. 동기와 비동기를 알아보자.       내부 진행되는 모습을 보여주는 사이트에 가보기http://latentflip.com/loupe/?code=JC5vbignYnV0dG9uJywgJ2NsaWNrJywgZnVuY3Rpb24gb25DbGljaygpIHsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gdGltZXIoKSB7CiAgICAgICAgY29uc29sZS5sb2coJ1lvdSBjbGlja2VkIHRoZSBidXR0b24hJyk7ICAgIAogICAgfSwgMjAwMCk7Cn0pOwoKY29uc29sZS5sb2coIkhpISIpOwoKc2V0VGltZW91dChmdW5jdGlvbiB0aW1lb3V0KCkg.. 2024. 11. 26.