목록javascript (3)
dansoon.log()

들어가며자바스크립트는 오랜 시간 동안 ‘기능적인 언어’로 오해받아 왔습니다. 필요하면 쓰고, 문제 생기면 회피하는 도구처럼 사용했습니다.하지만 개발 환경이 바뀌고, 프론트엔드가 복잡한 애플리케이션 구조를 갖추게 되면서 자바스크립트는 그 한계를 극복하며 스스로 구조를 진화시켜 왔습니다.이 글에서는 단순한 연대기적 흐름이 아닌, 언어 자체가 어떻게 '구조'와 '패턴'을 받아들이고, 실제 문법으로 진화해왔는지에 집중해 보았습니다. 1. 태생부터 빠른 실행을 위한 구조였다자바스크립트는 1995년 넷스케이프에서 태어났습니다.그리고 설계자였던 브렌던 아이크는 단 열흘 만에 이 언어를 완성했습니다.설계보다는 속도, 철학보다는 실용이 우선이었고 그 결과 JS는 아래와 같은 특징을 가진 언어로 태어났습니다.전역 스코프유..

들어가며지난 2개월 동안 '자바스크립트 + 리액트 디자인 패턴'을 읽으며 학습한 내용과 개인적인 깨달음을 공유하려 한다. 현재 진행 중인 프로젝트에서 코드 구조화와 관련된 여러 문제점들을 이해하고자 이 책을 선택했고, 기대 이상의 인사이트를 얻을 수 있었다.책 소개와 주요 내용이 책은 리액트 애플리케이션의 설계와 구조화에 초점을 맞추고 있으며, 단순히 컴포넌트를 만드는 방법을 넘어 확장 가능하고 유지보수하기 쉬운 애플리케이션을 구축하는 방법을 다루고 있다. 특히 다음과 같은 내용이 인상적이었다1. 컴포넌트 패턴의 진화기존에 알고 있던 HOC(Higher-Order Components)와 Render Props 패턴부터 최신 React Hooks를 활용한 패턴까지 리액트의 발전 과정에 따른 디자인 패턴의 ..
과제 개요이번 과제에서는 Vanilla JavaScript로 SPA(Single Page Application)를 구현했다. 주요 요구사항은 History API로 라우터를 구현하는 것, LocalStorage를 사용한 사용자 관리 기능, 컴포넌트 기반 구조 설계, 초기 상태 관리 구현, 그리고 테스트 코드 통과였다.이전에 react-router를 사용해본 경험이 있지만, 그것이 내부적으로 어떻게 동작하는지는 구체적으로 알지 못했다. 이번 과제를 통해 SPA 라우팅이 어떻게 작동하는지 직접 구현하면서 더 깊이 이해할 수 있는 시간을 가졌다.시도한 것들라우터 직접 구현기존에 사용하던 라우터 라이브러리 대신, 브라우저의 History API를 사용해 페이지 전환 기능을 구현했다. history.pushSta..