자바스크립트에서 함수는 일급객체다.
* 일급객체의 특징
- 변수나 프로퍼티의 값으로 할당될 수 있다.
- 함수 인자로 전달될 수 있다.
- 리턴값으로 활용될 수 있다.
- 동적으로 프로퍼티를 생성할 수 있다.
1. 변수나 프로퍼티의 값으로 할당
var foo = function(){
console.log('foo변수에 익명함수를 담았습니다.');
}
var obj = {};
obj.age = function(){
return 100;
}
2. 함수 인자로 전달
var foo = function(){
return 100;
};
var goo = function(value) {
console.log(value)
};
goo(foo());
3. 리턴값으로 활용
var foo = function(){
return function(){
console.log('this is function');
}
}
//방식1
console.log(foo()); //익명함수 반환
console.log(foo()()); //익명함수의 리턴값을 반환 'this is function'
//방식2
var bar = foo(); //리턴값으로 전달되는 함수를 bar변수에 저장
bar(); //()함수 호출 연산자를 활용해서 리턴된 함수 실행
4. 동적으로 프로퍼티 할당 가능
function run(){
console.log('run run');
}
run.speed = 100;
console.log(run.speed);
'TIL > Javascript' 카테고리의 다른 글
React.js | TypeError: Cannot read property ‘replace’ of undefined (0) | 2021.01.15 |
---|---|
[33 Concepts JS] Call Stack (0) | 2020.12.11 |
[모던자바스크립트 deep dive] 디버깅, code runner (2) | 2020.12.11 |
JS-이벤트 루프, 호이스팅, 클로저 (0) | 2020.12.10 |
[Javascript] 함수 생성 방식과 호이스팅 (0) | 2020.12.03 |
댓글