자바스크립트 핵심 가이드

1,567 views

Published on

자바스크립트 핵심 가이드 부록 -나쁜점

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,567
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

자바스크립트 핵심 가이드

  1. 1. 자바스크립트 핵심 가이드부록-B, 나쁜점들
  2. 2. 01. == 자바스크립트에는 비교연산자로 === / !== 와 == / != 이 있다. 두개의 연산자들의 차이는 같음을 정의하는 기준이 서로 다르다. ===(일치연산자, is strictly equal to) 같음을 정의하는 기준이 매우 엄격 ==(동등연산자, is equal to)두 피연산자가 동등한지, 타입변환 허용
  3. 3. 02. WITH with문은 유효범위 체인을 임시로 변경하려 할때 쓰임 with(객체){구문} with문은 엄격한 모드에서 사용할 수 없다. with문을 사용하는 자바스크립트 코드는 최적화하기 힘들고 with문을사용하면 변수에 바인딩을 하기 어렵기 떄문에 사용하지 않은 코드에 비해 현저히 느려진다.
  4. 4. 03. EVAL eval함수는 문자열을 자바스크립트 컴파일러에 넘긴 후 그 결과를 실행 문제점 1. eval을 사용한 코드는 읽기 어렵다. 2.eval을 사용하면 컴파일러를 사용해야 함으로 속도가 느려진다. 3.보안의 문제를 일으킬 수 있는 코드라도 무조건 실행 setTimeout과 setInterval 함수도 문자열 또는 함수를 인수로 취할 수 있는데 이때 문자열 인수를 제공하면 eval 처럼 동작하므로 주의
  5. 5. 04. CONTINUE continue문을 제거 했을때 성능이 항상 향상되었다.
  6. 6. 05. 다음 CASE절까지 실행하는 SWITCH문 switch case문 중 다음 case문 까지 계속 실행되는 경우 오류가 발생할수 있으니 편리하더라고 사용하지 말아야 함.
  7. 7. 06. 블록이 없는 문장 if문이나 for문에서 한줄만 사용할시 따로 블록을 따로 쳐줄 필요가 없지만 가독성이나 코드에 간결함을 위해서 블록을 나누자If(ok)t = true;advance();If(ok){t = true;advance();}If(ok){t = true;}advance();
  8. 8. 07. ++ -- 6번 블록이 없는 문장 처럼, 좀더 가독성을 높이기 위해서 증감 연산자를사용하지 말아야 한다.
  9. 9. 08. 비트 연산자 정수형일 경우에 비트연산자는 빠르게 동작하지만 자바스크립트는 정수형이 없고 부동소수점(실수)이기 때문에 비트연산자 사용시 정수로 변환후 다시 실수형으로 바꾸기 때문에 속도가 느려진다.
  10. 10. 09. 함수 문장 VS 함수 표현식 함수 문장 function foo() {} 함수 표현식 var foo = function foo () {} 차이점 함수 문장으로 선언을 하면 호출을 어디에서나 불러도 상관 없다. 함수 표현식으로 선언하면 미리 정의하지 않고 호출하면 에러 이러한 함수 문장의 사용은 함수를 사용하기 전에 반드시 선언해야 한다는 요구사항을 경감, 구조를 엉성하게 만든다.
  11. 11. 10. 데이터 타임 랩퍼 자바스크립트는 숫자, 문자열, 불리언 데이터 타입을 지원할 뿐 만 아니라 기본 데이터 타입을 둘러싸는 랩퍼들(Number, String, Boolean 클래스)도 지원 이러한 래퍼들은 완전히 필요가 없으며 때때로 혼란을 줄 수 있다.
  12. 12. 11. NEW 자바스크립의 new 연산자는 피연산자의 프로토타입 멤버들을 상속하는객체를 생성하고 이 객체를 this에 바인딩하면서 피연산자를 호출 new 연산자를 안쓰면 일반적인 함수 호출을 하게 되고 이때 this는 새로운 객체가 아니라 전역객체에 바인딩 new를 안 써도 컴파일 시나 실행 시에 어떠한 경고도 없다. new와 함께 사용하기 위해서 만든 함수의 이름은 각 단어의 첫 글자를대문자로 표기해서 new를 생략한 실수를 찾을 수 있는 단서 제공 저자는 new 연산자를 사용하지 않는것이 좋다라고 함.
  13. 13. 12. VOID 자바스크립트에서 void는 피연사자를 취한 후 undefined를 반환하는연산자. void(0) 유용하지 않고 매우 혼동

×