js 에서 if 문장의 몇 가지 최적화 코드 쓰기

비록 나 는 아직 그것 을 사용 하여 시험 적 인 테스트 를 하지 않 았 지만,여기에서 그것 이 확실히 js 에 대해 미화 하 는 일 을 한 것 을 볼 수 있다.아마도 어떤 사람들 은 if 문장 이 그렇게 간단 해서 어느 정도 까지 최적화 할 수 있다 고 생각 할 것 이다.그러나 다음 과 같은 몇 가지 방식 을 보면 생각 이 바 뀔 수도 있다.1.흔히 볼 수 있 는 3 원 연산 자
 
if (foo) bar(); else baz(); ==> foo?bar():baz();
if (!foo) bar(); else baz(); ==> foo?baz():bar();
if (foo) return bar(); else return baz(); ==> return foo?bar():baz();
를 사용 하면 상기 3 원 연산 자 를 사용 하여 if 문 구 를 최적화 하 는 것 이 낯 설 지 않 을 것 입 니 다.아마 자주 사용 할 것 입 니 다.2.and(&)와 or(||)연산 자
 
if (foo) bar(); ==> foo&&bar();
if (!foo) bar(); ==> foo||bar();
를 사용 합 니 다.솔직히 저 는 코드 를 이렇게 쓴 적 이 없습니다.이런 표기 법 은 제 가 을 배 울 때 본 적 이 있 지만 js 에서 이 루어 질 줄 은 몰 랐 습 니 다.3.대괄호{}
 
if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}
를 생략 하 는 방법 은 당신 과 나 는 모두 잘 알 고 있 지만 코드 가 최적화 되 었 을 때 이렇게 하거나 UglifyJS 에 맡 겨 해결 하 는 것 을 권장 합 니 다.큰 괄호 가 하나 없 기 때문에 코드 의 읽 기 가능성 은 높 지 않다.여기까지 쓰 면 jQuery 의 아버지 가 에서 HTML 요소 속성 을 얻 는 방법 을 생각 합 니 다.
 
function getAttr(el, attrName){
var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName;
};
만약 에 우리 가 이렇게 쓰 지 않 는 다 면 우 리 는 두 개의 if 문 구 를 통 해 처리 해 야 할 것 이다.위의 코드 는 간결 하고 효과 적 일 뿐만 아니 라 읽 을 수도 있다.곰 곰 이 생각해 보면 우 리 는 문 제 를 해결 하 는 효과 적 인 경 로 를 찾 을 수 있 지만 관건 은 우리 가 더 좋 은 경 로 를 찾 느 냐 하 는 것 이다.

좋은 웹페이지 즐겨찾기