![[블로깅] JavaScript Koans](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVzGFH%2FbtsICeoUeW2%2FTlw6veqrEzJ10chiy1KeS1%2Fimg.jpg)
[블로깅] JavaScript KoansBootCamp2023. 3. 6. 10:31
Table of Contents
인트로
오늘은 부트캠프 과제로 진행한 JavaScript Koans에 대해서 이야기해보려고 합니다.
다양한 개념들이 함께 나타나서 기초 다지기에 아주 좋은 공부 방법인 것 같습니다.
사실 블로그 쓰기 전까지만해도 koan이 뭔지 모르고 문제만 와다닥 풀었는데요.
블로그 쓰다보니 문득 Koan이 뭔지 궁금해졌습니다.
Koan이란?
원래 코안(Koan)은 '간화선'이라는 불교 수행법 개념입니다.
선생의 모범적인 행동이나 증언을 기록해서 후세가 그것을 보고 공부하도록 만들었다고 합니다.
프로그래밍하시는 분들이 올려주시는 Koan test를 통해 어떤 언어를 학습하는 것 이라고 보면 될 것 같네요.
koan의 의미에 대해 찾아보다가 좋은 자료를 발견했습니다! JS koans 자료를 공유해봅니다!
JS test를 해보고 싶으시면 아래 자료를 한번 참고하면 좋을 것 같습니다.
https://github.com/mrdavidlaing/javascript-koans
오늘 배운 것
- Scope
- 호이스팅은 해당 스코프의 최상단으로 옮기는 것을 말합니다. (스코프 단위로 동작)
JS는 함수 실행 전 해당 함수 내부에 선언된 모든 변수나 함수 선언문을 스캔합니다.
var로 선언된 변수의 경우 undefined로 초기화가 됩니다.
let과 const로 선언된 변수는 선언되었다! 정도만 메모리에 저장됩니다. (<- 호이스팅이 발생하지 않는 척!)
함수 선언문은 해당 함수를 포함하는 블록의 최상단으로 옮겨집니다.
이때! 변수의 할당문은 호이스팅이 되지 않는데 함수 표현식의 경우 변수 할당과 같이 취급됩니다.
즉, 함수 표현식은 호이스팅되지 않는다는 말입니다.
- 호이스팅은 해당 스코프의 최상단으로 옮기는 것을 말합니다. (스코프 단위로 동작)
- Destructuring
- 객체 분해에서 문제를 이해못해서 몇분을 박았는데 그냥 spread 문법을 사용하면 간단하게 해결되는 문제였습니다.. 객체 내부를 string으로 열심히 쓰던 과거의 나 (고등학교때도 문제 안봐서 틀렸는데 안고쳐짐)
다양한 파트가 있었지만 위 두 파트를 통해 헷갈렸던 개념들을 확실히 할 수 있었습니다
아래와 같은 동작이 가능한 이유가 호이스팅 때문입니다. 다른 언어였으면 어림도 없죠?
foo(); // "undefined world"
var x = "hello";
function foo() {
console.log(x + " world");
}
기억할 것
Rest 문법 : 전달인자의 수가 정해져 있지 않은 경우 Rest Parameter를 사용하자!
호이스팅 : let, const, class 는 호이스팅이 발생하지 않는 "척"한다. 함수 표현식은 호이스팅되지 않는다
'BootCamp' 카테고리의 다른 글
[React-twittler] 자식 컴포넌트에서 부모 컴포넌트로 데이터 보내기 (0) | 2023.03.24 |
---|---|
[블로깅]객체 지향 프로그래밍 (0) | 2023.03.15 |
[블로깅]클래스와 인스턴스 (0) | 2023.03.15 |
[기술면접]Section1 기술면접 준비 (0) | 2023.03.13 |
[BootCamp/TIL]아고라스테이츠만들기 (0) | 2023.03.10 |
@두루마기 :: 내가해냄
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!