오늘은 모던 JavaScript 튜토리얼에서 객체로서의 함수와 기명 함수 표현식(https://ko.javascript.info/function-object)에 대해 공부했다. 작성한 질문은 다음과 같다.
자바스크립트에서 함수의 자료형은 객체이다. 함수를 호출 가능한 객체라고 생각하면 이해가 편하며 함수를 호출할 수 있을 뿐만 아니라 객체처럼 프로퍼티를 추가, 제거하거나 참조를 통해 전달할 수도 있다.
함수의 이름을 알고 싶다면 'name' 프로퍼티를 사용하면 된다. 다음과 같이 확인할 수 있다.
function threeMul(a, b, c) {
return a * b * c;
}
threeMul.name // 'threeMul'
함수 매개변수의 개수를 알고 싶다면 'length' 프로퍼티를 사용하면 된다. 다음과 같이 확인할 수 있다.
function threeMul(a, b, c) {
return a * b * c;
}
threeMul.length // 3
함수의 자료형이 무엇인가요?라고 누가 물었다면 답변하지 못했을 텐데 객체라는 사실을 오늘 처음 알았다. 또한 name 프로퍼티를 함수 이름을 알 수 있다는 점 length 프로퍼티로 매개변수를 알 수 있다는 점도 처음 알았다. 함수 이름을 알기 위해 name 프로퍼티를 사용할 경우는 적을 것 같지만 매개변수 개수를 확인할 length 프로퍼티는 나중에 사용할 일이 있을 것 같다. 나름 JavaScript 공부를 어느 정도는 했다 생각했는데 다시 겸손해지게 되는 20220715일 자 TIL이었다.
'TIL' 카테고리의 다른 글
TIL - 20220717 (0) | 2022.07.17 |
---|---|
TIL - 20220716 (0) | 2022.07.16 |
TIL - 20220714 (0) | 2022.07.14 |
TIL - 20220713 (0) | 2022.07.13 |
TIL - 20220712 (0) | 2022.07.12 |