전체 글65 클로저 앞서 var와 let의 차이점이라는 게시물에서 언급했지만 클로저에 대해 좀 더 자세히 공부해보고자 게시글을 남깁니다. 대략적인 감을 잡았다고 생각했었는데, 비슷한 예임에도 실행 결과 예측이 힘들어서 공부의 필요성을 느꼈기 때문입니다. 게시글에서 틀린 부분이 있거나 혹 문제가 되는 부분이 있다면 댓글 남겨주시면 감사하겠습니다. 글의 목차는 다음과 같습니다. 1. 클로저란 함수 렉시컬 스코프 2. 클로저의 예 _____ 클로저란 클로저는 자바스크립트에서 중요한 개념 중 하나이지만 자바스크립트 고유의 개념이 아니기 때문에 ECMAScript 명세에 등장하지 않는다고 한다. 다만 MDN의 정의를 살펴보면 다음과 같다. 클로저는 함수와 함수가 선언된 어휘적 환경(Lexical environment)의 조합이다. .. 2021. 7. 24. TODO APP 최근 자바스크립트를 공부할 겸 간단한 TODO 프로그램을 만들어보았습니다. 부족한 점이 많지만 간단한 앱으로 배운 점을 바로 사용해볼 수 있고, 앞으로 부족한 점은 조금씩 개선해보려고 합니다. 코드는 몇 줄 안 되지만 코드를 작성하며 배운 점들을 기록해두고자 합니다. 1. 요구사항 2. 구현 3. 더 나아가 _____ 요구사항 가장 필수적인(간단한) 기능만 담은 기능을 먼저 구현하고자 했다(UI를 그림판으로 한 게 좀 문제가 있어 보인다...). 개략적으로 위와 같은 기능을 먼저 구현하고자 하였고, 요구사항을 정리하면 아래와 같다. 1. 할 일을 입력 후 엔터 혹은 ➕를 클릭하면 할 일이 등록된다. 2. 완료한 일에 대해 ❌를 클릭하면 해당 작업이 삭제된다. 3. 위 사항은 브라우저를 새로고침해도 유지되.. 2021. 7. 20. 배열 API 이 게시글을 통해 얕게나마 배열 API에 대해 정리해나가고자 합니다. 최근 자바스크립트로 기본적인 코딩 문제[1]를 풀다가 막히기도 했고, 실제 프로젝트에서 통신 중 JSONArray 등의 자료구조를 다룰 일이 많기에 더 늦기 전에 공부하고자 합니다. 특히 자바스크립트의 배열은 자바와는 다르게 굉장히 유연해 그 활용도가 더 높다고 할 수 있습니다[2][3]. 또한 관련 글들을 보다 놀랐던 것은 reduce, map, filter와 같은 함수형 프로그래밍과 관련[4]된 최신 메서드들이 사실은 ES5부터 사용 가능한 메서드였다는 점이었습니다. 게시글의 틀린 부분 혹은 피드백이 있으시면 댓글로 남겨주세요. 목차는 다음과 같습니다. 1. 개요 2. filter 3. map 4. reduce 5. 기타 _____.. 2021. 7. 19. 템플릿 콜백 패턴 토비의 스프링을 보다가 템플릿/콜백 패턴을 접하게 되었습니다. 책에서는 이에 대해 다음과 같이 정의합니다. 조금 복잡해보이지만 메소드 레벨에서 일어나는 DI다. 왜냐하면 클라이언트가 템플릿 메소드를 호출하면서 콜백 오브젝트를 전달하는 것이기 때문이다. DI, 템플릿 메소드, 콜백 오브젝트 등 여러 용어가 등장해 복잡해 보입니다. 이를 이해하기 위해 아래 내용[1]을 짚고 넘어가고자 합니다. 1. 전략 패턴 2. 템플릿 메소드 패턴 3. 템플릿 콜백 패턴 혹시 내용에 틀린 부분이나 피드백이 있다면 댓글로 남겨주시면 감사하겠습니다. _____ 전략 패턴 전략 패턴(Strategy Pattern)은 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. 아래 클래스 다이어그램을 살펴보자. Context(문맥) .. 2021. 6. 21. 이전 1 ··· 7 8 9 10 11 12 13 ··· 17 다음