Вы, наверное, уже знаете, что JavaScript — самый широко используемый язык программирования в мире. Он используется для Интернета, мобильных гибридных приложений, серверной части (NodeJS) и множества других приложений. Поскольку его можно использовать для отображения простого оповещения в веб-браузере, а также для управления роботом с помощью nodebot или других программ, он служит введением в программирование для многих новых разработчиков. На рынке труда востребованы разработчики, которые хорошо разбираются в JavaScript и пишут чистый, эффективный код.

Независимо от своего браузера/движка или интерпретатора SSJS (Server Side JavaScript), все разработчики JavaScript должны быть знакомы с советами, рекомендациями и лучшими практиками, которыми я поделюсь в этой статье.

  1. всегда используйте ===вместо ==

При необходимости автоматически выполняется преобразование типов с помощью оператора == (или!=). При использовании оператора === (или!==) преобразования не будет. Можно возразить, что он сравнивает значение и тип быстрее, чем ==.

[5] === 5   // is false
[5]  == 5    // is true
'5' == 5     // is true
'5' === 5    // is false
 []   == 0     // is true
 [] ===  0     // is false
 '' == false   // is true but true == "a" is false
 '' ===   false // is false

2. При первом определении значения переменной не забудьте ключевое слово var.

Глобальная переменная устанавливается автоматически при назначении необъявленной переменной. Запретить использование глобальных переменных.

3. Будьте осторожны при использовании typeof,instanceof и constructor.

  • typeof : унарный оператор JavaScript, который создает строку, представляющую базовый тип переменной.
  • конструктор : это код, который может переопределить свойство внутреннего свойства прототипа.
  • instanceof : это еще один оператор JavaScript, который ищет каждый прототип в цепочке конструкторов и возвращает true, если он найден, и false в противном случае.

4. Значения False включают undefined, null, 0, false, NaN и «(пустая строка).

5. Создайте функцию самовызова

Самовызываемая анонимная функция или немедленно вызываемое функциональное выражение являются общими именами для этого (IIFE). Это функция следующего вида, которая запускается сразу после создания:

(function(){
    // some private code to be executed automatically
})();  
(function(d,y){
    var result = d+y;
    return result;
})(20,20)

6. Перемешайте массив чисел

var numbers = [6, 650, 140 , -225 , 233 , 500 , 152300, -81451];
numbers = numbers.sort(function(){ return Math.random() - 0.5});

7. Убедитесь, что данный аргумент является числом

function isNumber(n){
    return !isNaN(parseFloat(n)) && isFinite(n);
}

8. Преобразуйте объект arguments в массив.

var argumentsArray = Array.prototype.slice.call(arguments);

9. Очистить массив

var newArray = [12 , 222 , 1000 ];  
newArray.length = 0; // newArray will be equal to [].

10. Используйте метод функции map() для циклического перебора элементов массива.

var squares = [1,4,6,2].map(function (val) {  
    return val * val;  
}); 
// squares will be equal to [1, 16, 26, 4]

11. Не используйте [eval] небрежно

Метод eval() в JavaScript позволяет выполнять любой произвольный код во время выполнения. Лучший курс действий — никогда не использовать его. Если это уже есть в вашем сценарии, попробуйте заменить его на более эффективную стратегию.

12. Сделайте использование строгих привычкой.

Вы должны использовать strict, если хотите получать оповещения каждый раз, когда нарушаете JavaScript при написании кода. Применение правил, таких как объявленные переменные, ограничение использования зарезервированных слов и наличие оператора в вашем коде, помогает поддерживать приличия программирования.

"use strict"; // Things might go chaotic

(function (){
    "use strict";
    // You are in control and write a better piece of code
})();

13. Оператор запятой

var a = 0; 
var b = ( a++, 88); 
console.log(a);  // a will be equal to 1 
console.log(b);  // b is equal to 88

14. Избегайте использованияwith()

Используя with(), переменная добавляется в глобальную область видимости. В результате, если две переменные имеют одно и то же имя, это может привести к путанице, и значение может быть заменено.

15. Используйте оператор switch/case, а не последовательность операторов if/else.

16. Экранирующая функция HTML

function escHTML(text) {  
    var repl= {"<": "&lt;", ">": "&gt;","&": "&amp;", """: "&quot;"};                      
    return text.replace(/[<>&"]/g, function(character) {  
        return repl[character];  
    }); 
}

17. При написании кода не забывайте использовать улучшитель кода. Перед запуском используйте JSLint и минификацию (например, JSMin).

18. Используйте встроенные комментарии

Как правило, JavaScript и большинство языков сценариев и программирования позволяют добавлять встроенные комментарии. Включение полезного текста помогает уменьшить сложность кода. Но при использовании встроенного стиля держите его кратким и в одну строку.

19. Кэшировать [array.length] внутри цикла

Этот совет может показаться простым на первый взгляд. Но если у вас есть код, который в цикле обходит большой массив, это может значительно повысить производительность.

var iMediumlen = stories.length;  
for (var iter = 0; iter < iMediumlen; iter++) {  
    console.log(stories[iter]);
}

20. Проверьте, есть ли у объекта свойство

for (var prop in testObj) {
    if (testObj.hasOwnProperty(prop)) {
        // do something with prop
    }
}

JavaScript — отличный язык, вот несколько отличных веб-сайтов для бесплатного изучения JavaScript:

  1. ФриКодКэмп
  2. Сеть разработки Mozilla (MDN)
  3. JavaScript на простом английском языке

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord . Заинтересованы в хакинге роста? Ознакомьтесь с разделом Схема.