Languages/Javascript 2008/10/09 09:57
뭐 아는 사람은 다 아는 것이겠지만 모르는 분들을 위한 팁하나!
보통 자바스크립트 개발자들이 if문을 많이 사용하는데 이것도 귀찬을때 단항연산자를 사용하기도 하지요..
c = a || b ? a : b; 요론식으로..
위에것을 if문으로 풀이하자면
if(a || b){
c = a;
}else{
c = b;
}
이렇게 되는데요
단항연산자 보다 더 짧게 쓸수있는 팁입니다.
논리연산자의 특성을 활용한 방법이지요.
방법은
a = 1;
b = 0;
라는 가정하에
c = a || b; //1
// c = 1
c = a && b; //2
// c = 0;
이런식으로 쓰게 됩니다. 단항연산자보다 훨씬 짧죠?ㅎㅎ
설명하자면 ||(or) 연산자는 a가 true일경우 a를 리턴하고 b는 처다도 안봅니다.
만약 a가 false인경우 a를 확인 후 b로 넘어가서 b를 검사 후 b가 true인경우 b를 리턴합니다.
b가 false경우 c엔 아무값도 안들어가게 되겠죠?ㅎㅎ
&&(and) 연산자의 경우는 ||(or)연산자와는 조금 다른데
a가 true일경우 a를 리턴하지 않고 b까지 확인후 둘다 true일경우에만 b를 리턴합니다.
만약 a가 false인경우 b는 확인하지 않고 그냥 a를 리턴합니다.
간단한거지만 여기저기 써먹을때가 많겠죠?ㅎㅎ
보통 자바스크립트 개발자들이 if문을 많이 사용하는데 이것도 귀찬을때 단항연산자를 사용하기도 하지요..
c = a || b ? a : b; 요론식으로..
위에것을 if문으로 풀이하자면
if(a || b){
c = a;
}else{
c = b;
}
이렇게 되는데요
단항연산자 보다 더 짧게 쓸수있는 팁입니다.
논리연산자의 특성을 활용한 방법이지요.
방법은
a = 1;
b = 0;
라는 가정하에
c = a || b; //1
// c = 1
c = a && b; //2
// c = 0;
이런식으로 쓰게 됩니다. 단항연산자보다 훨씬 짧죠?ㅎㅎ
설명하자면 ||(or) 연산자는 a가 true일경우 a를 리턴하고 b는 처다도 안봅니다.
만약 a가 false인경우 a를 확인 후 b로 넘어가서 b를 검사 후 b가 true인경우 b를 리턴합니다.
b가 false경우 c엔 아무값도 안들어가게 되겠죠?ㅎㅎ
&&(and) 연산자의 경우는 ||(or)연산자와는 조금 다른데
a가 true일경우 a를 리턴하지 않고 b까지 확인후 둘다 true일경우에만 b를 리턴합니다.
만약 a가 false인경우 b는 확인하지 않고 그냥 a를 리턴합니다.
간단한거지만 여기저기 써먹을때가 많겠죠?ㅎㅎ
http://jiny.kr/trackback/398


0