-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[테크니컬 라이팅] 파슬리(김윤아) 미션 완성본 제출합니다. #576
base: anttiey
Are you sure you want to change the base?
Conversation
anttiey
commented
Oct 30, 2024
•
edited
Loading
edited
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
|
||
클로저는 단순히 자바스크립트의 어려운 개념에 그치지 않고 함수형 프로그래밍의 기본 개념 중 하나로 널리 사용됩니다. 함수형 프로그래밍은 순수 함수를 기반으로 프로그램을 구성하는 프로그래밍 패러다임입니다. 따라서 클로저를 이해하는 것은 함수형 프로그래밍의 핵심을 이해하는 것과 같습니다. | ||
|
||
이 글에서는 클로저가 무엇인지, 어떻게 작동하는지, 그리고 어떻게 활용할 수 있는지 차근차근 다루고자 합니다. 글을 다 읽으실 때쯤엔, 여러분 모두가 클로저 마스터가 되어 있으리라 기대합니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
개인적으로 쉼표가 조금 많은 것 같다고 느껴서
'때쯤엔,' => '때쯤에는' 으로 써도 괜찮을 것 같아요!
} | ||
``` | ||
|
||
위 예시에서 `useState` 훅은 `count` 라는 변수를 관리합니다. `setCount` 함수는 클로저로 이전 상태 값인 `prevCount` 를 기억하고, 이를 참조하여 새로운 상태 값을 계산합니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
앞 내용에서는 예시와 설명이 자세했는데, 이 부분이 생략이 많이 된 느낌이 들었어요!
중요한 부분이 아니라서 내용을 줄인건가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
바쁘신 와중에 수고하셨습니다!
리뷰 몇 개 남겨놓았으니, 시간날 때 확인해주세요!
|
||
클로저는 **함수와 그 함수가 선언된 렉시컬 환경의 조합**을 의미합니다. 다시 말해서 클로저는 함수가 선언될 당시의 외부 스코프에 접근할 수 있는 함수입니다. | ||
|
||
여기서 **렉시컬 환경**과 **외부 스코프** 같은 용어가 낯설게 느껴질 수 있습니다. 이 개념들은 자바스크립트의 기본적인 동작 원리와 밀접하게 연관되어 있습니다. 이를 먼저 이해하면 클로저를 보다 쉽게 파악할 수 있을 것입니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
내부_함수(); // 1 출력 | ||
``` | ||
|
||
위 예시에서 ‘외부\_함수’와 ‘내부\_함수’는 모두 `1` 을 출력합니다. ‘외부\_함수’ 안에서 ‘내부\_함수’가 호출되고 있으므로, ‘내부\_함수’가 ‘외부\_함수’의 `x = 10` 을 참조해 `10` 을 출력할 거라고 생각할 수 있습니다. 하지만 자바스크립트에서는 함수가 어디서 선언되었는지에 따라 접근할 수 있는 변수가 결정된다고 했습니다. ‘내부\_함수’는 전역에서 선언되었기 때문에 전역 스코프의 `x = 1` 을 참조해 `1` 을 출력합니다. 따라서 ‘외부\_함수’ 안의 `x = 10` 은 무시됩니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
함수명을 백틱으로 감싸 주면 가독성이 훨씬 좋아질 것 같아요!
내_계좌.잔액_조회(); // '현재 잔액: 13000원' 출력 | ||
``` | ||
|
||
위 예시에서 ‘잔액’ 변수는 클로저에 의해 보호되며, 외부에서는 직접 접근할 수 없습니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
위 예시에서 ‘잔액’ 변수는 클로저에 의해 보호되며, 외부에서는 직접 접근할 수 없습니다. | |
위 예시에서 `잔액` 변수는 클로저에 의해 보호되며, 외부에서는 직접 접근할 수 없습니다. |
|
||
<br /> | ||
|
||
# **6. 클로저의 장단점** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
개인적으로는 장단점을 마지막에 설명해 마무리하는 느낌이 되어도 좋을 것 같네요!