본문 바로가기
웹(web)/프론트엔드-javascript

[Function] Function property

by 바코94 2020. 5. 31.

함수 객체를 만들면 속성이 추가 가능하다.

 

function add(x,y){

  return x+y;

}

 

add.name = 'add function';

 

위와 같이 함수를 만들고 속성을 추가하면 함수 객체에는 다음과 정보로 구성된다.

[[CODE]] ---> return x+y;

name     ---> 'add function'

 

즉, 파라미터나 파라미터 개수와 같은 정보들도 등록되있다.

위에서 만든 add 함수를 만들었다. add라는 이름만을 쓰면 함수의 참조값으로 사용된다.  c의 함수 포인터처럼 함수 이름만을 사용하면 주소값이 전달되는 것처럼 파악된다. 또한 리턴문에 function(){}와 같은 함수를 리턴하게 되면 동일하게 함수의 참조값이 전달된다.

 

ECMA5 명세에서 모든 함수는 length, prototype 속성을 가져야 한다고 나와있다. length는 인자의 개수를 말한다. prototype 속성은 constructor 프로퍼티가 하나 있는 객체이다. 

 

함수

(속성 : 값)

length : 인자 개수

prototype : constructor 속성 가진 객체 참조값

 

 

'웹(web) > 프론트엔드-javascript' 카테고리의 다른 글

[Function]this, apply, call  (0) 2020.06.01
[Function] varient using function  (0) 2020.06.01
[Function] Funtion create  (0) 2020.05.31
[Operator] Primitive type & standard method  (0) 2020.05.30
[Data type] Array  (0) 2020.05.30