20210319 JavaScript 기본개념 뿌신 아홉번째 주

JavaScript를 쭉쭉 배워나가고 있다. 지난 주부터 시작하여 개념과 동작원리를 기반으로 실제로 메서드도 구현해보기도 하니 조금 더 재미가 붙는다. 나랑 잘 맞는건지 속단하긴 이르지만 그래도 본연의 특징이 많아 까다로운 편이라는 JavaScript를 즐겁게 배우고 있어서 프론트엔드로 진로를 생각해보는 것도 좋겠다는 생각도 든다.

배운 것들

  • 함수의 의미와 구성: 함수이름과 식별자, 매개변수, 인수, return문
    • 정의 방법: 함수선언문/함수표현식/화살표함수
    • 호출 방법: 일반함수/생성자함수/메서드로써 호출
    • 관련 개념: 즉시실행함수, 재귀함수, 중첩함수, 콜백함수, 순수함수와 비순수함수
  • 스코프: 스코프체인의 형성과 값 탐색 순서, 전역변수, 렉시컬 스코프
  • var 키워드의 문제와 이를 대체할 let, const 각각의 특징
  • 화살표 함수의 문법과 사용법, 나머지 매개변수(rest parameter)
  • 배열(Array)의 의미와 일반배열과 JS배열의 차이와 각각의 특징
    • 배열의 생성과 프로토타입
    • 배열 메서드: mutator와 accessor의 차이와 관련 메서드들
    • 화살표함수를 콜백함수로 넣은 배열의 고차함수 활용법
  • 얕은 복사와 깊은 복사
  • 함수형 프로그래밍의 의미와 특징

실습한 것들

  • 배열의 고차함수 forEach(), map(), filter()을 함수로 구현해보았다.
  • 배열메서드를 실제로 사용하며 mutator와 accessor가 각각 어떻게 동작하는지 살펴보았다.

결론

  • var 쓰지마라
  • 전역변수 쓰지마라
  • 함수는 작게, 하나의 일만 하도록 만들고 웬만해선 화살표함수 써라.

느낀 점

  • 자료구조와 생성자함수, 함수형 프로그래밍 등 다소 어려운 개념들을 배웠는데, 그래도 예전같았으면 대체 무슨말인지 이해할 엄두도 안 났을텐데 이제는 어찌어찌 이해가 가고 있어서 다행이란 생각.
  • 이론만 하다가 드디어 코드짜기 실습을 해보는게 느낌이 새롭다. 이젠 머리가 아닌 손가락으로 조금씩 익혀나가야겠다.
  • 배열의 고차함수 메서드 구현해보는 것이 내부 로직을 파악할 수 있어서 나름 재미있었다.