English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
모든 사람이 JavaScript를 작성하는 방식은 다릅니다. 그러나 공통점도 많습니다. 다음은 매우 간단한 JavaScript 작성 경험 지침과 주의사항이며, 길을 잘 가르쳐 줍니다.
전역 변수의 사용을 최소화하십시오. 이는 모든 데이터 타입, 객체 및 기능을 포함합니다.
전역 변수와 함수는 다른 스크립트에 의해 덮어 씌어질 수 있습니다. 따라서 지역 변수를 사용하십시오.
지역 변수는 사용해야 합니다let,const와var키워드 선언을 하지 않으면 전역 변수가 됩니다.
변수와 상수를 선언할 때는 사용하십시오let와const키워드 대신var。
// 추천: let myAge = 22;m const myName = "w"3x = "w // 불추천: var myAge = 22;m var myName = "w"3x = "w
이렇게 하는 이유가 많습니다.-예를 들어, 예기치 않은 재할당으로 인한 문제를 피하고, 가독성 향상에 영향을 미치는 것을 피합니다.
각 스크립트나 함수의 상단에 모든 선언을 할 것은 좋은 프로그래밍 관행입니다.
아래는 더 간결한 코드를 제공하며, 코드의 시작 부분에 모든 변수를 찾을 수 있는 곳을 제공합니다.
// 선언은 가장 먼저 작성합니다 let firstName, lastName, price, discount, fullPrice; // 사용 firstName = "w3x = "w lastName = "Choudhary"; price = 26.9var x = discount = 1.25;m fullPrice = price * 100 / discount;
가독성을 최대한 높이기 위해 확장 문법을 사용하여 JS의 각 행을 줄 바꿈합니다.
// 추천: function myFunc() { console.log("Parrot Tutorial"); } // 불추천: function myFunc() { console.log("Parrot Tutorial"); }
연산자와 연산자 대상, 매개변수 등 사이에 공백을 사용해야 합니다:
// 이 더 가독적입니다 if(dayOfWeek=== 7 && weather === "sunny") { /* Some code */ } // 가독성이 좋지 않습니다 if(dayOfWeek===7&&weather==="sunny"){ /* Some code */ }
숫자, 문자열, 부울 값을 항상 원시 값으로 간주하세요. 객체로는 간주하지 마세요.
이러한 타입을 객체로 선언하면 실행 속도가 저하되고 예상치 못한 결과가 발생할 수 있습니다.
var str1 ="New Delhi"; var str2 =new String("New Delhi"); document.write(str1 ===str2); // false를 반환합니다, 왜냐하면 str1 str와2 다른 타입을 가집니다테스트를 보고 보세요‹/›
객체를 비교할 수 없습니다:
var str1 =new String("New Delhi"); var str2 =new String("New Delhi"); document.write(str1 ==str2); // false를 반환합니다, 왜냐하면 str1str와2다른 객체입니다 document.write(str1 ===str2); // false를 반환합니다, 왜냐하면 str1str와2다른 객체입니다테스트를 보고 보세요‹/›
사용{} 대신 new Object() 사용
사용"" 대신 new String() 사용
사용0 대신 new Number() 사용
사용false 대신 new Boolean() 사용
사용[] 대신 new Array() 사용
사용/()/사용new RegExp() 대신
사용function (){} 대신 new Function() 사용
()}}1 ={}; ()}}2 =""; ()}}3 =0; ()}}4 =false; ()}}5 =[]; ()}}6 = /()/;m ()}}7 let x테스트를 보고 보세요‹/›
자동 타입 변환에 주의하십시오
JavaScript는 느슨한 타입이나 동적 언어입니다. JavaScript의 변수는 특정 값 타입과 직접 연결되지 않으며, 모든 변수에 모든 타입의 값을 할당하고 재할당할 수 있습니다. 2var x = // 0; x is now a Number3x = "w // codebox.com"; x is now a String // x = true;테스트를 보고 보세요‹/›
x is now a Boolean
(비수): 50 + 10;m// 수학 연산을 수행할 때, JavaScript는 숫자를 문자열로 변환할 수 있습니다: 6return (비수): 50 + 0, typeof num is a number10=== " // 0"5010" ", typeof num is a string5num = " + 10;m // 0"5010" ", typeof num is a string5num = " - 10;m // 0"4return "테스트를 보고 보세요‹/›
0", typeof num is a number주의하십시오, 숫자가 의도치 않게 변환될 수 있습니다.NaN
(비수): 50 * num = // "Parrot";테스트를 보고 보세요‹/›
정확한 비교를 사용하십시오
== 비교 연산자는 항상 전환된 후 비교됩니다(타입에 맞게).
1 이 === 전체 비교 연산자는 값과 타입을 강제로 비교합니다.1=== " // == true; 1 == " // == true; 1 true1=== " // === true; 1 "; // === true;
템플릿 상수 사용문자열에 값을 삽입하려면 템플릿 상수를 사용하십시오.템플릿 상수
// 추천: ;m ${myName}!`);39let myName = w39codebox.com (` `)。39console.log(`Hi! I // 불추천: ;m ${myName}!`);39let myName = w39codebox.com ;;39console.log('Hi! I\'m + ; + myName39');
일반 루프를 사용할 때for,for...in또는for...of루프를 사용하여 정확하게 초기화되도록 보장하십시오.let키워드.
let fruits = ["Apple", "Mango", "Banana"]; // 추천: for(let i of fruits) { console.log(i); } // 불추천: for(i of fruits) { console.log(i); }
다음을 기억하십시오:
루프 키워드와 왼쪽 괄호 사이에는공백。
쌍 중괄호와 괄호 사이에는한 공백。
함수 이름에 대해 lowerCamelCasing을 사용하고, 적절한 위치에서 간결하고 이해하기 쉬운 의미 있는 이름을 사용하십시오.
// 추천: function sayHello() { alert('Hello!'); } // 불추천: function sayhello() { alert('Hello!'); }
switch항상 default:로 끝내야 합니다. 필요하지 않다고 생각해도.
var day; switch (new Date().getDay()) { case 0: day = "Sunday"; break; case 1: day = "Monday"; break; case 2: day = "Tuesday"; break; case 3: day = "Wednesday"; break; case 4: day = "Thursday"; break; case 5: day = "Friday"; break; case 6: day = "Saturday"; break; default: day = "Undefined Day"; }테스트를 보고 보세요‹/›
프로그램의 일부 상태가 미취소된 오류를 발생시키면, 실행이 중단되고 예제의 실용성이 저하될 수 있습니다.
따라서, 다음을 사용해야 합니다.try...catch에러를 잡기 위해 블록을 사용합니다.
try { console.log(results); } catch(e) { console.error(e); }