코드스테이츠FEB[13일차]

쫀구·2022년 5월 13일
0

✔ 오늘 학습한 내용

벌써 한주가 지났다.. 시간 너무 금방간다
오늘은 ES6 문법 (spread syntax, rest syntax), 어제하던 클로저를 학습했다. 그리고 페어분과 함께 JavaScript Koans 를 풀었다 Koans는 수행을 하여 깨달음을 얻는다 는 비슷한 말인것같다. JavaScript Koans를 풀며 이전에 배운내용을 다시 일깨우는 좋은 문제들이었다. 변수 함수 배열 객체 등등..

🤔 오늘배운 문법은 언제쓸까?

spread syntax, rest syntax 와 같은 아주 유용한 문법을 배웠는데, ... 을 사용하여 배열을 풀고 어느정도 생략 할수있어 간편하게 사용가능하다. 클로저는 100% 이해하지는 못했다. 캡슐화해서 외부에서 사용가능하다는 점과 내부에서 외부 변수에 접근이 가능하다는것을 문제를 풀며 이해했다. 두 내용을 정리해서 글 올렸으니 참고하자

❗어려웠던내용

클로저에서 언제 사용을해야 유용한지를 잘모르겠다. 또 약간 헷갈렸던 부분이 문제를 풀때 내부에서 선언한 변수와 전역변수와 이름이 같다고 해서 같은변수가 아님이 헷갈렸고, 내부에서 선언이 되지 않은 함수는 전역변수에 접근함을 다시한번 공부를 해야겠다.

📝 예제

<it('클로저(closure)에 대해 확인합니다.', function () {
   function increaseBy(increaseByAmount) {
     return function (numberToIncrease) {
       return numberToIncrease + increaseByAmount;
     };
   }
   const increaseBy3 = increaseBy(3);
   const increaseBy5 = increaseBy(5);
 --------------------------정답------------------------------
   expect(increaseBy3(10)) === (13);
   expect(increaseBy5(10)) === (15);
   expect(increaseBy(8)(6) + increaseBy(5)(9)) === (28);

오늘 풀었던 문제

정답 3번째줄 인자 값으로 8,6 과 5,9 를 받아서 28이 되엇다.
리턴함수의 매개변수numberToIncrease 에 8,5 가 각각 할당되고 increaseByAmount 에 6,9가 할당되어 더한 값인데 따로 선언을 한게 없는데 8과 5가 어떻게 numberToIncrease 여기에 값을 할당이 되었는지 잘 이해가 안간다.

🌴 결론, 페어,방향성 등

반드시 저문제 해결하고 이해하고 넘어가야겠다. 오늘 페어분과 함께 문제를 풀었는데, 배울점이 참 많았다. 배우신분 인것같은데 겸손하고, 내가 어려워하는 문제를 잘 설명해줬고, (본인도 헷갈린다고 하는데 위로하려고 하는건지 진짠지는 모르겠다..ㅋㅋ) 적극적이고, 말도 좀 많아서 네비게이터 역활을 충실했다. 페어프로그래밍은 이렇게 하는거다를 아주 잘보여줬다. 잘배워서 나도 다른 페어분 만났을때 더 좋은 페어로 남고싶다. 아직 많이 부족함..
주말동안 빡공하자😑

profile
Run Start 🔥

0개의 댓글