함수표현식
함수 표현식은 값을 반환하는 식
함수를 변수에 할당하는 방법
var funcExpressions = function() {
console.log('안녕');
};
funcExpressions();
// funcExpressions 변수에 익명함수를 저장한 것
기명 함수 표현식
var funcExpressions = function namedFuc() { // 이름이 있기 때문에
namedFuc(); // 호출 가능
}
namedFuc(); // 밖에서는 호출할 수 없다
funcExpressions();
// funcExpressions 변수에 namedFuc 함수를 저장한 것
함수 표현식과 선언식의 차이점 : 호이스팅
함수 표현식 장점 : 익명 함수의 콜백 사용, 클로저
즉시 호출 함수 표현식 IIFE
선언과 동시에 호출되는 함수
IIFE는 함수와 변수가 전역 스코프에 영향을 미치지 않도록 방지하는데 사용된다
라이브러리를 만들 때 기본이 되는 구문
(function () {
// 코드 ...
}());
매개변수를 받는 iife
(function(msg) {
console.log(msg);
}('안녕'));
기명 iife
(function named() {
// 코드 ...
}());
변수를 선언하고 iife 할당
var Module = (funciton() {
return '추웡';
}());
괄호 생략 가능
var Module = funciton() {
return '추웡';
}();
모듈 패턴
var Module = function(){
var text = 'ABC';
return {
get : function(){
return text;
},
set : function(newText){
text = newText
}
}
}();
Module.text // undefined 접근할 수 없음
Module.get() // ABC
Module.set('에이비씨')
Module.get() // 에이비씨
'UI개발' 카테고리의 다른 글
네임스페이스 (0) | 2021.01.08 |
---|---|
자바스크립트 렉시컬스코프 (0) | 2021.01.08 |
자바스크립트 - 콜백의 동기와 비동기 (0) | 2020.08.23 |
이벤트 전파를 중단하는 방법 (0) | 2020.08.23 |
자바스크립트 객체지향 - Prototype (0) | 2020.08.23 |