====== Function ======
Javascript는 functional language다. 또한, prototype language다. 이는 C,Java와는 다른 특징이 있다.
물론 최근들어서는 Java에서 함수언어를 일부지원하지만, 기존 함수언어와는 차이가 있고 코드를 읽기가 힘들다.
기존 OOP에 Function이라니..(물론 괴물같은 DotNet도 있지만..)
===== Prototype =====
기존 프로그래밍언어와는 많은 차이가 prototype이다. OOP와 비슷한 듯 하면서도 독특한 것이 prototype이라 할 수 있다. 이것은 다음에 살펴보자. 여기서는 function에 집중해보자.
===== Function 정의 =====
문법적인 틀은 다른언어와 유사하다.
function name([param[, param,[..., param]]]) { [statements] }
function 함수이름(매개변수…) {
// function body
return;
}
function calcRectArea(width, height) {
return width * height;
}
console.log(calcRectArea(5, 6));
// expected output: 30
===== Nvl =====
function nvl(s, d){
return (s==null || s == "" || s == undefined ) ? (d == null ? "" : d) : s;
}
==== 설명 ====
함수 선언으로 생성된 함수는 Function 객체로, Function 객체의 모든 속성(property), 메서드 및 행위 특성(behavior)을 갖습니다. 함수에 관한 더 자세한 정보는 Function 참조하시기 바랍니다.
함수는 또한 표현식(함수 표현식 참조)을 사용하여 생성될 수 있습니다.
기본적으로 함수는 undefined를 반환합니다. 다른 값을 반환하기 위해서는, 함수는 반환값을 지정하는 return 문이 있어야 합니다.