Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

codingfarm

함수 리터럴(function literal)과 익명 함수(anonymous function) 본문

web/JavaScript

함수 리터럴(function literal)과 익명 함수(anonymous function)

scarecrow1992 2020. 10. 11. 17:07
타입 리터럴 방식 객체 방식
숫자 var age = 10; var name = new Number(10);
문자 var name = "ddandongne" var name = new String("ddandongne");
불린 var cold = true; var cold = new Boolean(true);
배열 var aryData = ["data1", "data2", "data3"]; var aryData = new Array("data1", "data2", "data3");

 

일반적으로 실무에서는 간결성과 편리성 때문에 리터럴 방식을 즐겨쓴다.

하지만 리터럴방식은 자바스크립트 엔진에 의해서 객체방식으로 자동변환되어 실행된다.

일종의 암시적 형변환이 일어난다고 보면 된다.

 

함수 리터럴

함수 역시 리터럴 방식으로 만들 수 있다.

아래처럼 함수 이름을 주지 않고 만들면 된다.

리터럴 방식 일반적인 방식과 객체 방식
var hello = function(name){
    alert(name + "님 환영합니다.");
}
hello("honggildong");
//일반적인 방식
function hello(name){
    alert(name + "님 환영합니다.");
}
hello("honggildong");

//객체 방식
var hello2 = new Function("name", "alert(name+'님 환영합니다.');");
hello2("honggildong");

리터럴 방식으로 만들어진 이름없는 함수를 익명 함수라고 부른다.

 

익명함수

1. 익명 함수 풀이 버전

익명함수란 함수 리터럴 방식으로 만들어진 이름없는 함수이다.

이벤트 처리 등에 익명 함수를 활용하면 다음과 같이 좀더 간결하게 만들 수 있다.

익명 함수 활용 전 익명 함수 활용 후
function hello(){
    alert("안녕하세요. 환영합니다.");
}
$("#btnStart").click(hello);
$("#btnStart").click(function(){
    alert("안녕하세요. 환영합니다.");
});

익명함수는 재사용하지 않을경우에 유용하게 쓸 수 있다.

하지만 재사용이 되어야 한다면 일반 함수를 써야 한다.

 

 

 

 

 

'web > JavaScript' 카테고리의 다른 글

중첩 함수(Nested Function)  (2) 2020.10.11
함수 종류  (0) 2020.10.11
함수 정의 방법 4가지  (0) 2020.10.11
경품추천기  (0) 2020.10.09
소개  (0) 2020.10.09
Comments