설명할수 없으면 아무것도 아니다

매일 조금씩 쓰면서 뭘 했는지 기록하고 좋았던 것과 나빴던 것을 바탕으로 새 글을 수정합니다.

Frontend Develop/JavaScript 7

[JavaScript] var hoisting

대부분의 프로그래밍 언어에서는 변수를 선언하고 값을 할당 그렇지만 JavsScript var 변수는 선언하기도 전에 값을 할당하고, 값을 할당하기도 전에 출력이 가능 (undefined) hoisting "끌어올려주다" 는 뜻으로 변수를 어디에서 선언 했는지 상관없이 제일 위로 선언을 끌어 올려주는 것. 또한, Block Scope를 무시함. 블록 스코프에 선언된 변수를 글로벌 console.log() 로 아무 곳에서나 값이 출력. => 이러한 문제를 해결하기 위해 ECMA Script 6에서 let 변수가 탄생✨

[algorithm] 자료구조와 알고리즘은 왜 중요할까?

자료구조와 알고리즘은 왜 중요할까? 음식 만들기에 비교하자면, 🥑재료 = 데이터 🥢도구 = 자료구조 🍳레시피 = 알고리즘 🍜결과 = 소프트웨어 자료구조 + 알고리즘 = 프로그램 올바른 데이터, 자료구조, 알고리즘을 골라서 좋은 소프트웨어를 만들 수 있다. 자료구조 메모리를 효율적으로 사용하면서 안정적으로 데이터를 처리하기 위함 상황에 맞는 자료구조를 선택해야한다. Stack, Queue, Graph, Tree 알고리즘 특정 문제를 효율적이고, 빠르게 해결하기 위함 수학적으로 표현 이진탐색, 최단거리 찾기 등.. 실무에서 중요한 3가지 기초 코딩 능력 (문제 해결 능력) 전문 분야 지식 기본 CS 지식 기초 코딩 능력은 자료구조와 알고리즘을 학습하면 문제 해결 능력을 Up할수 있다. 결국은 개발자가 올바른..

[JavaScript] Spread Operator 전개 연산자

전개 연산자는 ECMAScript 2015에서 새롭게 추가 특정 객체 또는 배열의 값을 다른 객체, 배열로 복제하거나 옮길때 사용 배열조합 const arr1 = [1,2,3]; const arr2 = [4,5,6]; const arr3 = [7,8,9]; cont arrWrap = arr1.concat(arr2,arr3); console.log(arrWrap); // [1,2,3,4,5,6,7,8,9] 위에 배열조합을 전개 연산자 방식 사용 const arr1 = [1,2,3]; const arr2 = [4,5,6]; const arr3 = [7,8,9]; const arrWrap = [...arr1, ...arr2, ...arr3]; console.log(arrWrap); // [1,2,3,4,5,6..

[JavaScript] 자바스크립트 간단하게 이해하기

자바스크립트란? HTML로 구조를 잡고, CSS 로 스타일을 준 이후, 자바스크립트 언어로 동작을 추가한다. 또한 웹 브라우저 뿐만 아니라 Node.js로 백엔드 서버까지 만들수 있다. 자바스크립트 엔진 자바스크립트를 실행하기 위해서는 브라우저에 내장되어 있는 자바스크립트 엔진이 필요하다. 이때 자바스크립트 엔진은 런타임시 코드를 한줄 씩 번역하는 역할을 한다.(인터프리터) 크롬은 V8, 사파리는 JavaScriptCore, 파이어폭스는 SpiderMonkey 엔진을 가지고 있다. ECMAScript 각 브라우저마다 공통된 자바스크립트 문법의 규격사항, 표준사항을 명시 https://en.wikipedia.org/wiki/JavaScript

자바스크립트 비동기 API - Promise

📝 Promise API 프로미스 API는 비동기 API 중 하나이다. 정리하자면, 태스크 큐가 아닌 잡큐(Job queue 혹은 microtask queue)를 사용한다. 잡큐의 경우 setTimeout() 등의 API가 사용하는 태스크 큐보다 우선순위가 높다. Promise 객체는 비동기 처리 중에 pending 상태를 표현할 수 있다. Promise.prototype.then 체인을 이용해 비동기 처리 순서를 강제할 수 있다. Promise.prototype.finally()메서드는 Promise가 settled되었을 때 항상 호출된다. Promise API 예시 예시 코드를 보면 setTimeout과 Promise 는 순차적으로 처리되는 것이 아니라 얽혀있다. 실행결과를 보면 프로미스 처리가 se..