본문 바로가기

자바스크립트25

[클린코드 자바스크립트] 임시변수 제거하기 임시변수 제거하기 임시변수란? 스코프 안에서 전역변수 처럼 사용되는 변수를 일컫는다. function getDOMElement() { const result = {}; // 임시 변수 result.title = document.querySelector('.title'); result.content = document.querySelector('.content'); return result; } 당장은 이 임시변수가 큰 문제를 일으키진 않지만, 해당 함수가 커질 경우 임시변수가 스코프 내에서 전역 변수로 쓰여질 위험이 있고, 개발자들이 임시변수에 접근하여 조작하므로 인해 예상치 못한 사이드 이펙트를 야기할 수 있다. 이 부분을 예방하기 위해서는 함수를 크게 만들지 않고 하나의 일만 하도록 쪼개는 것이 가장.. 2021. 11. 11.
자바스크립트 Event Loop 자바스크립트는 싱글 스레드 기반의 언어이다. 자바스크립트는 비동기로 동작한다. 그럼 이벤트 루프란 무엇일까? 이벤트 루프를 알기 위해 자바스크립트를 해석하고 실행시키는 자바스크립트 엔진 에 대해 먼저 알아본다. 자바스크립트 엔진 자바스크립트 엔진은 자바스크립트로 작성한 코드를 해석하고 실행하는 인터프리터 이다. 웹 브라우저에 화면을 그리는 렌더링 엔진과는 다른 것이기 때문에 잘 구분해야 한다. (렌더링 엔진은 HTML과 CSS로 작성된 마크업 관련된 코드를 웹페이지에 렌더링 하는 역할을 함.) 자바스크립트 엔진은 주로 웹 브라우저에서 이용된다. node.js에서는 구글에서 개발한 V8과 같은 엔진이 이용된다. 이런 자바스크립트 엔진은 크게 Call Stack, Task Queue, Heap 3가지 영역으.. 2021. 6. 2.
헷갈리는 Javascript Compare 함수 먼저 자바스크립트의 sort 함수는 다음과 같이 사용한다. array.sort([Compare Function]) 자신이 원하는 조건으로 정렬을 하기위해 직접 Comapre Function을 구현해야 한다. Compare Function의 반환값에 따라 정렬이 다르게 동작한다. 반환값이 0 일 때 -> 변경 없음 반환값이 0 보다 클 때 -> 오름차순 반환값이 0 보다 작을 때 -> 내림차순 (음수일 때만 위치가 바뀐다고 생각하면 됨.) const arr = [1, 2, 3] arr.sort((a, b) => b - a) 라는 코드가 존재할 때 파라미터 a, b에 각각 1, 2 가 들어올 것이라고 예상할 수도 있지만 반대로 2, 1이 들어온다. 그렇기 때문에 이 부분이 좀 헷갈린다면 arr.sort((n.. 2021. 3. 29.
고차함수 고차함수 고차함수란? 크게 보면 함수를 값으로 다루는 함수를 말한다. 세부적으로 보면 아래와 같이 2가지로 나눠볼 수 있다. 함수를 인자로 받아서 실행해 주는 함수 const apply1 = f => f(1) const add2 = a => a + 2 apply1(add2) // 3 apply1(a => a - 1) // 0 // 인자로 넘어온 함수를 n번 실행시키는 함수 const times = (f, n) => { let i = 0 while (i++ console.log(a + 10), 3) // 10 11 12 함수를 만들어 리턴하는 함수 (클로저를 만들어 리턴) const addMaker = a => b => a + b const add10 = addMa.. 2021. 3. 24.