본문 바로가기

개발/Javascript

자바스크립트 필수 개꿀 연산자 (삼항연산자)

실무에서도 많이쓰이는 개꿀 연산자입니다.

 

var member;
member = (member)||'default';

일단 한가지 먼저 말씀드려야 겟네요

자바스크립트에선 (값) 괄호 안에 값이 null, undefined등일 경우에도 false로 사용 가능합니다.

 

그럼 위에서 member를 초기화 하지도 않고 아무 값도 넣지않았습니다.

그렇기에 (member) false가 되겟죠

그리고 바로 옆 || 해당연산자는   조건1 || 값    조건1이 true일경우 아무 작업도 하지 않지만 false일경우

|| 뒤에있는 값을 호출하라 라는 뜻입니다.

 

그렇기에 (member)||'default' ->  'default' 로 변해버린것이지요. 그래서 member 에는 default가 들어가게 됩니다.

 

또 이와 비슷한 연산자가 있습니다

 

var member;
member = (member)?'yes true':'what? false';

 

해당 연산자도 위와 비슷합니다.

(member)? 여기서의 ?는 변수가 true야? 라는 느낌으로 이해하시면됩니다.

true일시 바로 뒤에 yes true가 호출되며 false일시 : 뒤에있는 what? false가 호출됩니다.

 

해당 연산자들은 실무에서도 데이터 기본값 설정 또는 초기화 용으로 많이쓰이며

 

특히 자바스크립트 객체의 경우 해당 속성이 없을경우 오류가 생기기 떄문에 아주 자주 애용되는 필수 연산자 이므로 꼭 기억하셔야 합니다.

 

객체의 경우에 이런느낌으로 응용할 수도 있겟네요.

var obj = {};
obj = (obj || {propertie:"default"}) // obj = default
obj = (obj || {propertie:""}).propertie // obj = ''