[TIL]1102

괴발·2022년 11월 2일
0

오늘 한 일

  • 스토리북을 서치해봄
  • 재귀함수를 공부함
  • html/css 과제 확인

새로운 지식!

함수호출

  • 자바스크립트 함수는 매개변수와 인수의 개수가 일치하는지 확인하지 않는다.
    타 언어의 경우 build 단계에서 매개변수가 2개 주어지면 인수의 갯수가 다를 경우(1개 또는 3개 또는 그이상) compile 단계에서 error를 뱉는다.

  • default value
    ES6에서 도입된 개념으로 매개변수에 기본값을 미리 지정할 수 있고, 인자가 매개변수보다 적어 'undefined' 가 발생한 경우에만 부족한 인자를 미리 지정한 기본값으로 대체하여 계산할 수 있다.

  • dynamic parameters
    매개변수가 없더라도 실제로 넘어오는 인자값(parameter)을 control할 수 있는 "arguments 객체"를 이용해 parameter를 불러오거나 값을 계산 할 수 있다.

  • 함수 반환 시 return이 없는 함수는 void 함수라고 하며
    return 이후에 코드는 실행되지 않는다. default return value는 undefined이다.

재귀함수 (미친놈임)

  • 스스로를 호출하는 함수
  • 함수 스스로 자신을 참조하여 호출하면서 동일코드가 지속적으로 수행되는 함수
  • 특정 조건이 됐을 때 자신을 그만 호출하도록 하는 Exit Code가 필요하다. 없으면 무한loop.
  • 컴퓨터는 재귀함수가 몇 번 호출됐는지 확인할 수 있는 "stack 스택"이 있다.
  • 자세한 내용은 재귀함수 참고

오늘 한 생각

  • 재귀함수 아주 이해하기 어려운 미친놈임.
  • 재귀함수 이해하는라 애먹었다. 특히 console 위치에 따라서 출력값이 다르게 나오는 것에서 어떤 한 위치에서 도출되는 값이 이해되지 않아서 머리를 쥐어짜고 있었다. 결과적으로 내가 이해되지 않았던 부분은 재귀는 호출 될 때마다 stack에 순차적으로 쌓이게 되는데 이 점을 내가 간과하고 있었다. stack에 쌓이 값들은 exit code로 return값이 나온 이후 쌓인 역순으로 다시 출력된다는 것을 알게되었다. 궁금한게 이 stack이 내가 알고있는 브라우저의 call stack에 그 stack인가? 만약 맞다고하면 동기 처리를 할 때도 역순으로 결과값을 뽑아내는 건가? 이건 다시한번 확인해봐야 할 것 같다.
  • html/css 과제 아주 재밌을 것 같음.
  • 진짜 2주동안은 html/css-JS랑 자료구조&알고리즘을 빡쎄게 잡아야 하겠다. 히히
profile
괴발개발

0개의 댓글