Programming/javascript

[javascript] 변수값 설정 시 default 사용 (short-circuit 트릭)

성일만 2014. 10. 20. 10:43

변수값 설정 시 default 사용 (short-circuit 트릭)



JavaScript는 short-circuit을 이용하면 변수에 값을 할당할 때 유용하게 사용할 수 있다고 한다. 

(변수에 값이 할당되어 있는지 체크해서 없으면 default 설정하는 경우 등)


기존 default 사용

var a = undefined;

var b = "defalut";

var c = "";


if(a){

c = a;

} else {

c = b;

}


일반적으로 a에 값이 없을경우 c에 dafault값을 이런식으로 주었었는데



short-circuit 트릭

var a = undefined;

var b = "default";

var c = a || b;


console.log(c); //default


a = "hello world";

c = a || b;


console.log(c); //test


이런식으로 javascript short-circuit 트릭을 이용하여 default 값을 사용할 수 있다고 한다.

매우 유용하게 쓰일 것 같다.



문자열 등 논리 연산 결과 샘플

if('') console.log('empty string'); // 출력 안 됨

if(undefined) console.log('undefined'); // 출력 안 됨

if(null) console.log('null'); // 출력 안 됨

if('something') console.log('not empty string'); // 출력 됨

if(1) console.log(1); // 1

if(0) console.log(0); // 출력 안 됨

if(-1) console.log(-1); // -1

if(1.5) console.log(1.5); // 1.5