메소드 디폴트 매개변수 혹은 함수 변수 기본값 혹은 method default parameter
쓸 수 있는 표현이 많아서 제목이 헷갈리지만,
내용은 같다.
대부분은 언어는 함수를 작성할때, 매개변수에 대한 기능이 존재한다.
예를 들어
int function METHOD(param1='기본값1',param2='기본값2'){
return 1234;
}
식으로 지정하면 METHOD(); 로 호출시, 매개변수는 기본값으로 적용되서 실행되는 식이다.
하지만, 멍청한 자바스크립트는 그런기능이 존재 하지 않는다.
그래서 따로 체크 혹은 기본값 지정을 해야한다.
function plus(num){
return num+=1;
}
이와 같은 메소드가 있다면,
plus(); 로 호출을 시도하면 num은 undefined이므로 정상작동이 안 될게 뻔하다.
이럴경우 기본값을 0로 하고 싶다면, 어떻게 할까?
이럴 경우에 사용하는 방식이 몇가지가 있다.
if(typeof(num)=='undefined') num = 0;
-> type을 검사하므로써, 변수의 여부를 체크해서 기본값을 할당하는 직관적인 방법이다.
num = num ? num : 0;
-> 조건연산자를 이용하는 방법, undefined는 false로 간주할테니~
num = num || 0;
-> 논리연산자를 이용하는 방법
코드의 간결함과 사용의 편리성, 논리연사자가 편해보인다.
하지만, 조건이나 논리를 사용하면, 0이라는 값이 필요할때, 기본값으로 처리는 되는 혼선이 발생할수 있다.
0->false로 인식하기 때문인데, 기본값이 0가 아니라면, 기본값으로 동작할 것이다.
'dev > web' 카테고리의 다른 글
xls출력시 참고사항 (0) | 2013.12.09 |
---|---|
웹페이지 레이아웃 방법론(webpage layout methodlogy) (0) | 2013.12.04 |
웹에서 움직이는 배너에 대한 고찰 (0) | 2013.07.24 |
유용한 자바스크립트 라이브러리 모음 (1) | 2013.07.23 |
<b> 와 <strong>의 차이점 (0) | 2013.07.01 |