CODING/JavaScript
-
&& 과 || 를 이용한 powerful한 JavaScriptingCODING/JavaScript 2018. 10. 19. 14:01
Java, JavaScript 개발을 해 본 사람이라면 &&, || 연산자를 자주 사용할 것이다. 일반적으로 이 두 연산자를 학습할 때 보면, 앞의 항목이 참인지 거짓인지에 따라서 뒤 연산을 하지 않고 넘어가기 때문에, 보다 효율적인 연산자라고 배운다. 아래 예를 보자.if( a > 0 || b 0 가 참이라면, 위 연산자에 관계 없이 이 if 문은 참으로 간주되므로, {} 안의 연산을 진행해야 한다. 따라서 뒤 연산인 b 0 && b 0 이 거짓이라면, 뒤 조건의 참/거..
-
if-else VS switchCODING/JavaScript 2018. 10. 19. 13:20
if-else문과 switch 둘 중 어느것을 써야 효율적인가.if-else문은 원하는 조건이 나올때까지 순차적으로 모든 경우를 비교하지만switch문은 jump-table을 사용해서 한번에 원하는 곳에 이동한다 그래서 if문은 조건문의 개수만큼 O(n)의 시간복잡도를 갖게 되어 성능에 단점이 있고,switch문은 case의 개수만큼 jump-table을 차지하므로 메모리에 단점이 있다. 때문에 성능면에서만 보면.. switch문이 더 빨라서조건이 3개 이상일 경우에는 switch를 사용하는 것이 더 좋다는 얘기가 나온 듯.그렇지만 사실 그 차이는 컴파일러의 처리 속도에 따라 차이가 생기는 것이고요즘 컴파일러들이 워낙 우수하기 때문에 차이가 미비하다고 하다. if-else 를 쓰든 switch 를 쓰든 ..
-
.attr() .prop() 왜 나누어졌는가CODING/JavaScript 2018. 10. 19. 11:05
http://ginpen.com/2011/10/12/jquery-attr-prop/ 번역jQuery 1.6/1.6.1에서 무었이 있었나?.attr()에서 같이 하던 처리를 .attr()와 .prop()로 나누었다그래서 지금까지 움직였던게 움직이지않아 다시 수정하였다. 지금까지 .attr()만으로 가능하던 처리를 버전1.6의 업데이트로 인하여 .attr()과 .prop()으로 나누어졌습니다. 버전업을 하면 그대로 움직이는 코드도있고 움직이지않는 코드가 있어 많은 혼란이 발생합니다. 많은 혼란으로 결국 버전업데이트 1.6.1에서 .attr()을 예전처럼 움직일수있도록 다시수정되었습니다. 왜 .attr()을 .prop()으로 나누었는가?원래 따로해야할 문제였다.같이 사용하는 문제로 버그가 많아져버렸다.이건 j..
-
try catch finally 사용 시 문제점CODING/JavaScript 2018. 10. 19. 11:01
try{// .. 예외가 발생할 가능성이 있는 구문!}catch(Exception e){// .. 예외 발생시 처리 구문!}finally{// .. 꼭 실행해야하는 구문!} 전 코딩을 할 때 위와 같이 이해 하고 코딩을 하고 있습니다.하지만 여기서 몇가지 생각해야 할 게 있더라구요!1. try 안에 return.2. catch 안에 return.3. finally 안에 return. 한번 생각해보세요....... 결론.1. try 안에 return문 => return은 정상 동작으로 종료가 되었다는 의미이므로 finally 구문을 거쳐 정상 종료2. catch 안에 return 문 => catch 안에 return문은.. 거의 쓸일이 없을듯... 똑같이 finally 구문을 거쳐 정상 종료.3. fina..