프론트엔드/JavaScript 3

[JavaScript] ESLint와 Prettier가 무엇인지는 알고 사용하자!

1. ESLintESLint란 JavaScript 코드의 문제를 발견하고 수정하는 데 사용되는 정적 분석 도구이다.정적 분석 도구란 소스 코드를 실행하지 않고, 의미를 분석하여 잠재적인 결함을 찾아내는 도구를 말한다.  1.1 정적 분석 도구를 왜 사용해야 할까?개발자는 코드를 작성하는 과정에서 잠재적인 버그, 안티패턴, 오타, 사용되지 않는 코드 등의 문제를 발생시킬 수 있다.이러한 문제가 발생할 수 있는 코드를 코드 스멜(Code Smell)이라고 하며,이는 코드가 동작하더라도 유지보수성과 가독성을 저하시킬 수 있는 비효율적인 코드 패턴을 의미한다. 이러한 코드 스멜은 런타임 환경에서 쉽게 발견되지 않기 때문에 코드 리뷰 등의 과정이 필요하지만,수동으로 모든 문제를 찾아 수정하는 것은 많은 리소스가 ..

[JavaScript] Redux 사용법

1. Redux란?Redux는 JavaScript 상태 관리 라이브러리라 JavaScript든 React든 잘 어울린다. 1.1 초기 설정JavaScript에서 Redux를 사용하려면 따로 설정할 게 없다.React에서 Redux를 사용하려면 index.js에 App.js를 Provider 컴포넌트로 감싸 앱의 다른 컴포넌트에서 store를 사용할 수 있도록 해야한다.import { Provider } from "react-redux";import store from "./store"; // state가 저장되어 있는 store 파일 위치ReactDOM.render( , document.getElementById("root")); 1.2 메소드useSelector() : state 데이터 ..

[프론트엔드] 호이스팅(Hoisting) 이란?

호이스팅이란? 호이스팅은 코드를 실행하기 전 변수선언/함수선언을 해당 스코프의 최상단으로 끌어올리는 것이 아닌 끌어올려진 것 같은 현상을 말한다. 잘 이해가 안된다면 다음의 예제를 보자. console.log(a); // undefined var a = "A"; // var 변수 위와 같은 코드를 호이스팅을 한 코드로 보면 아래와 같다. var a; // 초기화 console.log(a); // 호출 a = "A"; // 선언 변수 호이스팅을 알아보기 전, 변수 생성 단계를 알아보자. 변수 생성 단계 변수는 3단계에 걸쳐 생성된다. 1단계: 선언 단계(Declaration phase) 변수를 실행 컨텍스트의 변수 객체에 등록한다. 이 변수 객체는 스코프가 참조하는 대상이 된다. 2단계: 초기화 단계(In..