Daehyunii's Dev-blog

<모던자바스크립트 18장 함수와 일급 객체> TIL-33 본문

✏️ 2022. TIL/July

<모던자바스크립트 18장 함수와 일급 객체> TIL-33

Daehyunii 2022. 7. 12. 19:16

  오늘은 함수에 대해서 자세하게 공부하였다. 함수는 정말 많은 기능을 한다. 함수는 일급 객체이고, 일반 함수로 호출하거나, 생성자 함수로 호출하여 객체를 생성할 수도 있다. 함수는 객체이기 때문에 변수, 자료구조에 저장할 수 있으며 함수를 함수의 매개변수로 전달하거나 함수를 함수의 반환값으로 사용할 수도 있다. 이러한 의미에서 일급 객체라는 표현은 참 잘 지어진 개념인것 같다. 또한 함수도 객체이기에 프로퍼티를 갖는 다는 사실을 알게 되어서 개인적으로 참 기분이 좋았다. 왜냐하면 함수가 객체라는 사실은 알고 있었지만, 객체는 프로퍼티를 가진다는데 여태까지 함수코드를 작성할때는 프로퍼티를 확인할 수 없었기 때문에 많은 혼란을 겪었기 때문이다. 하지만 오늘부로 자바스크립트에서 함수는 객체이고, 함수는 arguments, name, length, caller, prototype(constructor인 경우) 프로퍼티를 갖는다는 것을 확실하게 이해했고 함수는 개체라는 것을 확실히 알 수 있었다. 

 

  자바스크립트를 처음 공부하는 사람들이 가장 힘들어하는 개념 중 하나가 함수라는 개념이라는 생각이 든다. 왜냐하면 일반적으로 함수라는 개념에 대한 일반적인 배경지식은 수학적 사고 방식 뿐일 것이기 때문이다. 물론 수학에서의 함수와 같은 기능을 하긴 하지만, 자바스크립트만이 가지는 함수의 속성들과 그로인해 연결되는 내용들이 많이 있기 때문에 단편적으로 이해하기는 매우 힘든 개념인것 같다. 그치만 다행하게도 필자는 한 고비를 넘겨 아직 부족한 부분이 많이 있겠지만 그래도 함수에 대한 전체적인 이해도가 높아진 것 같다. 

 

2022.07.12 - [언어 공부 및 정리/자바스크립트[모던자바스크립트]] - 18장 함수와 일급 객체

 

18장 함수와 일급 객체

18.1 일급 객체 <일급 객체의 조건> 1. 무명의 리터롤로 생성할 수 있다.(런타임에 생성이 가능하다.) 2. 변수나 자료구조(객체, 배열 등)에 저장할 수 있다. 3. 함수의 매개변수에 전달할 수 있다. 4.

pinetree93.tistory.com