본문 바로가기

언어8

데코레이터 사용법 데코레이터는 타입스크립트 5.0에서 추가됐습니다. 데코레이터는 클래스의 기능을 증강하는 함수로 여러 함수에서 공통으로 수행되는 부분을 데코레이터로 만들어두면 좋습니다.아래 코드는 클래스 메서드들에는 중복되는 start, end 로그가 있습니다. class ANoDeco { eat() { console.log('start'); console.log('eat'); console.log('end'); } work() { console.log('start'); console.log('work'); console.log('end'); } sleep() { console.log('start'); console.log('sleep'); console.log('.. 2024. 4. 25.
클로저(Closures) 클로저란? 함수와 그 함수의 렉시컬 환경과의 조합이다. 렉시컬 환경이란 뭘까요? 이전에 살펴보았듯이 함수는 실행되기전 실행 컨텍스트를 생성합니다. 실행 컨텍스트는 렉시컬 환경에다가 해당 함수의 변수, 함수 식별자들을 정의하고 값을 저장하며, 외부 렉시컬환경에 참조할수 있도록 외부 렉시컬 환경도 저장해 둡니다. 이로써 함수는 자신의 필요한 변수나, 함수, 클래스 들을 찾을 수 있었죠. 그럼 왜 클로저랑 관련이 있을까요? 한번 예시를 봐봅시다. 아래 코드는 어떤 값을 출력할까요? const x = 999999; function outerFun() { const x = 1; function innerFun() { console.log(x); } return innerFun; } const innerFun = .. 2024. 2. 21.
실행 컨텍스트(렉시컬 스코프, 렉시컬 환경, 스코프 체인, 호이스팅) 이 글로 끝내버리기 이 글은 실행 컨텍스트와 렉시컬 스코프, 렉시컬 환경, 호이스팅, 스코프 체인을 이야기 진행 방식으로 작성하였으니 천천히 커피 한잔 마시면서 이야기를 들어주시면 감사하겠습니다. 실행 컨텍스트 실행 컨텍스트는 식별자를 등록하고 관리하는 스코프와 실행 순서 관리를 구현한 내부 메커니즘으로, 모든 코드는 실행 컨텍스트를 통해 실행되고 관리된다. 흠.. 말은 어렵지만 한번 풀어보면 코드를 실행하는데 재료를 준비해 주고 실행 순서를 관리해 주는 것 같네요. 이 실행 컨텍스트를 이해하면 호이스팅, 렉시컬 환경, 스코프 체인을 알게 됩니다. 자바스크립트에는 전역, 함수, eval, 모듈로 4개의 소스 코드 타입이 있습니다. 저는 여기서 전역, 함수 소스 코드로 이야기를 풀어 볼 건데, 일단 전역 소스 코드와 함수 소.. 2023. 5. 13.
컨트롤 + S로 타입스크립트 파일 재실행하기 이 글을 통해 얻을 수 있는 것 타입스크립트 파일을 컨트롤 + s로 저장을 하면 자동으로 재실행할 수 있습니다. 하는 방법의 결론부터 말씀드리면 아래처럼 해주면 됩니다. nodemon --exec ts-node 경로/파일.ts 이 아래부터는 설명입니다. 급하신 분들은 안 봐도 됩니다. 😃 준비물 우리의 목표를 수행하기 위한 준비물은 nodemon, ts-node이에요. nodemon이란? 파일에 변경이 일어나면 다시 시작시켜주는 도구예요. 즉 index.js 파일에 코드를 작성하고 저장을 누르면 자동으로 nodemon이 실행시켜줍니다. 다들 아시죠? npm i nodemon // 설치법 ts-node이란? 타입스크립트는 브라우저나 OS가 읽고 해석해서 실행할 수 가 없어요. 그래서 자바스크립트 파일로 변.. 2023. 5. 10.