JavaScript 모범 사례를 따르면 페이지 로드 속도가 빨라지고 성능이 향상될 뿐만 아니라 코드 가독성이 향상되고 유지 관리 및 디버깅이 쉬워집니다. 주의 깊게 작성된 코드는 오류와 보안 문제를 방지하는 데도 도움이 됩니다.
01. 전역 변수 피하기
- 전역 변수 사용을 최소화하세요.
- 여기에는 모든 데이터 유형, 개체 및 함수가 포함됩니다.
- 전역 변수 및 함수는 다른 스크립트로 덮어쓸 수 있습니다.
- 대신 지역 변수를 사용하고 클로저 사용 방법을 알아보세요.
02. 항상 지역 변수 선언
- 함수에서 사용되는 모든 변수는 지역변수를 선언해야 합니다.
- 로컬 선언 시 var, let 또는 const 키워드를 사용하지 않는 경우
변수를 사용하면 로컬 변수가 전역 변수로 변환됩니다.
03. 상단 선언
모든 선언은 좋은 코딩 습관을 위해 각 스크립트나 함수의 시작 부분에 배치되어야 합니다.
결과는 다음과 같습니다.
- 더 깔끔한 코드
- 사용자에게 지역 변수를 찾을 수 있는 단일 위치를 제공합니다.
- 바람직하지 않은(묵시적) 전역 변수를 방지하는 것이 더 간단해졌습니다.
- 원치 않는 재선언 가능성을 줄입니다.
4. 변수 초기화
변수를 선언할 때는 항상 초기화해야 합니다.
이렇게 됩니다:
- 더 깔끔한 코드 제공
- 변수 초기화를 위한 단일 위치를 제공합니다.
- 정의되지 않은 값 사용 방지
05. const
를 사용하여 배열 선언
const로 배열을 선언하면 실수로 유형이 변경되는 것을 방지할 수 있습니다.
06. new Object()를 사용하지 마세요.
- new String() 대신 “”를 사용하세요.
- new Number() 대신 0을 사용하세요.
- new Boolean()을 사용하는 대신 false를 사용하세요.
- new Object() 대신 {}
를 사용하세요.
- new Array()를 사용하는 대신 []를 사용하세요.
- 새로운 RegExp()를 사용하는 대신 /()/를 사용하세요.
- new Function()을 사용하는 대신 function(){}을 사용하세요.
07. 자동 유형 변환에 주의하세요
- 자바스크립트는 느슨한 형식의 언어입니다.
- 변수는 모든 유형의 데이터를 보유할 수 있습니다.
- 변수의 데이터형을 변경할 수 있습니다.
08. === 비교
사용
- 비교에 앞서 == 비교 연산자는 (일치하는 유형으로) 변환합니다.
- === 연산자에는 값과 유형 비교가 필요합니다.
09. 매개변수 기본값 사용
- 지정되지 않은 인수를 사용하여 함수를 호출하면 지정되지 않은 인수의 값이 정의되지 않은 상태로 설정됩니다.
- 정의되지 않은 값으로 인해 코드가 실패할 수 있습니다. 인수에 기본값을 할당하는 것이 좋습니다.
10. 기본값으로 스위치 종료
항상 스위치 문 끝에 기본값을 포함하세요. 불필요하다고 생각하더라도.
11. 숫자, 문자열, 부울을 객체로 사용하지 마세요.
- 숫자, 문자열 및 부울은 항상 객체가 아닌 기본 값으로 처리되어야 합니다.
- 이러한 유형을 객체로 선언하면 실행 속도가 느려지고 부정적인 부작용이 발생합니다.
12. eval()
사용을 피하세요.
- eval() 함수는 텍스트를 코드로 실행하는 데 사용됩니다. 하지만 대부분의 경우 꼭 사용할 필요는 없습니다.
- 임의의 코드를 실행할 수 있기 때문에 보안상 위험할 수도 있습니다.