개발/Java Script

[JS] variable || {}

hojak99 2018. 3. 6. 00:06

Socket.io 모듈을 까보다가 다음과 같은 코드를 발견했다.


test = test || {}


이런 코드는 처음봐서 stackoverflow 에 검색을 해보았다.

나랑 똑같은 질문을 한 사람이 있었다.


답변에는 왼쪽에 있는 변수(test)가 false, undefined, 0, null etc 일 때 오른쪽 값으로 넣는다는 것이다. 그냥 쉽게 다른 언어들에 있는 OR 문을 생각하면 될 것 같다.

var a = undefined;
a = a || {};
console.log("a : "+ a);     // "a : [object Object]"

var a = 0;
a = a || {};
console.log("a : "+ a);     // "a : [object Object]"

var a = 1;
a = a || {};
console.log("a : "+ a);     // "a : 1"

var a = true
a = a || {};
console.log("a : "+ a);     // "a : true"

var a = "ㅇㅁㅇㄴㅁㄴㅇ";
a = a || {};
console.log("a : "+ a);     // "a : ㅇㅁㅇㄴㅁㄴㅇ"

var a = null;
a = a || {};
console.log("a : "+ a);     // "a : [object Object]"


반응형