본문 바로가기

CODING/JavaScript31

자바스크립트 성능 최적화 팁 대부분의 언어가 그렇듯이 자바스크립트는 배우기도 쉽고 사용하기도 쉽지만, 잘 사용하기는 아주 어려운 언어이다. 그냥 작성해도 돌아는 가지만, 더욱 최적화 할 수 있는 방법을 알아보려한다.문법|| 연산자|| 연산자는 참을 만나면 그 뒤는 연산을 하지 않으므로 if문 대신 사용 하면 코드량과 연산 횟수를 줄일 수 있다.var result;if( some_var ){ result = some_var;}else{ result = 'default value';}// || 연산자 사용const result = some_var || 'default value';&& 연산자&& 연산자는 참을 만나야 다음 연산을 하므로 어떤 조건을 만족할 때 실행하도록 하는 코드에서 사용하면 코드량과 연산 횟수를 줄일 수 있.. 2018. 10. 19.
&& 과 || 를 이용한 powerful한 JavaScripting Java, JavaScript 개발을 해 본 사람이라면 &&, || 연산자를 자주 사용할 것이다. 일반적으로 이 두 연산자를 학습할 때 보면, 앞의 항목이 참인지 거짓인지에 따라서 뒤 연산을 하지 않고 넘어가기 때문에, 보다 효율적인 연산자라고 배운다. 아래 예를 보자.if( a > 0 || b 위와 같은 경우, 앞의 연산자인 a > 0 가 참이라면, 위 연산자에 관계 없이 이 if 문은 참으로 간주되므로, {} 안의 연산을 진행해야 한다. 따라서 뒤 연산인 b if( a > 0 && b 위 연산도 앞의 연산과 마찬가지이다. 위 연산에서 앞의 연산인 a > 0 이 거짓이라면, 뒤 조건의 참/거짓 여부에 관계 없이 거짓이므로, 이 if 문은 넘어가게 된다. 각설하고, javascript 에서는 이보다 더.. 2018. 10. 19.
if-else VS switch if-else문과 switch 둘 중 어느것을 써야 효율적인가.if-else문은 원하는 조건이 나올때까지 순차적으로 모든 경우를 비교하지만switch문은 jump-table을 사용해서 한번에 원하는 곳에 이동한다 그래서 if문은 조건문의 개수만큼 O(n)의 시간복잡도를 갖게 되어 성능에 단점이 있고,switch문은 case의 개수만큼 jump-table을 차지하므로 메모리에 단점이 있다. 때문에 성능면에서만 보면.. switch문이 더 빨라서조건이 3개 이상일 경우에는 switch를 사용하는 것이 더 좋다는 얘기가 나온 듯.그렇지만 사실 그 차이는 컴파일러의 처리 속도에 따라 차이가 생기는 것이고요즘 컴파일러들이 워낙 우수하기 때문에 차이가 미비하다고 하다. if-else 를 쓰든 switch 를 쓰.. 2018. 10. 19.
.attr() .prop() 왜 나누어졌는가 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()으로 나누었는가?원래 따로해야할 문제였다.같이 사용하는 문제로 버그가 많아져버렸다.이건 jQ.. 2018. 10. 19.
try catch finally 사용 시 문제점 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. fi.. 2018. 10. 19.
JavaScript / 배열(Array) / .push(), .pop(), unshift(), shift() – 배열에 원소 추가/제거 하기 .push(), .pop(), .unshift(), .shift().push()는 배열의 맨 끝에, .unshift()는 배열의 맨 앞에 원소를 추가합니다..pop()은 마지막 원소를, .shift()는 맨 앞의 원소를 제거합니다.예제 결과 값네 가지 속성을 비교하는 간단한 예제입니다.one / two / three / fourone / twozero / one / two / threetwo / three 2018. 10. 18.
반응형