임시 테스트를 수행하는 데 사용하지는 않았지만 여기에서 js를 아름답게 한다는 것을 알 수 있습니다. 어떤 사람들은 if 문이 그렇게 간단하다고 생각할 수도 있는데, 어느 정도까지 최적화할 수 있습니까? 하지만 다음 방법들을 살펴보시면 마음이 바뀔 수도 있습니다.
1. 일반적인 삼항 연산자를 사용하세요
if (foo) bar(); else baz() ==> foo?bar():baz()
if (!foo) bar(); ; else baz(); ==> foo?baz():bar();
if (foo) return baz(); ();
if 문을 최적화하기 위해 위의 삼항 연산자를 사용하는 방법은 확실히 익숙할 것이며 아마도 자주 사용할 것입니다.
2. and(&&) 및 or(||) 연산자를 사용하세요
if (foo) bar() ==> foo&&bar()
if (!foo) bar(); => foo | JS에서 구현할 생각은 없었습니다.
3. 중괄호 {} 생략
코드 복사
코드는 다음과 같습니다: if (foo) return bar(); else Something() ==> {if(foo)return bar();something()}
이런 작성 방법은 여러분과 저 모두에게 익숙하지만, 코드를 최적화할 때나 UglifyJS를 사용하여 문제를 해결할 때 이 방법을 사용하는 것이 좋습니다. 결국 중괄호가 하나라도 빠져 있으면 코드의 가독성이 높지 않습니다.
이 글을 쓰면서 jQuery의 아버지가 쓴 "JavaScript 마스터하기"에서 HTML 요소 속성을 얻는 방법이 생각났습니다.
var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName
}
작성하지 않으면 두 개의 if 문을 사용하여 처리되며 위 코드는 간결하고 효과적일 뿐만 아니라 가독성도 높습니다.
잘 생각해보면 문제를 해결하는 효과적인 방법을 찾을 수 있는 경우가 많지만, 중요한 것은 우리가 더 나은 방법을 찾기 위해 마음을 쓰는지 여부에 있습니다.