Скрытые фичи JavaScript

6
13830
Добавить в избранное

Несмотря на высокую востребованность, совсем немногие разработчики знают его скрытые фичи языка JavaScript. Перед вами 10 главных скрытых фишек JavaScript по мнению пользователей stackoverflow.

1. Работа с аргументами функции

Вам не нужно определять параметры для функции. Вы можете просто использовать массиво-подобный объект функции argument.

2. Операторы === и !==

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

== не является транзитивным. Если вы используете === , то оно как и ожидалось будет возвращать false для всех вышеперечисленных случаев.

3. Функции в JavaScript

Функции — граждане первого класса в JavaScript:

В частности функции могут быть переданы как параметры, например Array.filter() является функцией обратного вызова:

Также вы можете объявить «private» функцию, которая существует только в области действия определенной функции:

4. Оператор in

Вы можете использовать оператор in для того чтобы проверить есть ли такой ключ у объекта:

Если вы посчитаете, что литералы объекта недостаточно хорошо выглядят, то вы можете комбинировать их с помощью функции без параметров:

5. Значения по умолчанию

Вы можете использовать оператор || в выражении присваивания для предоставления значения по умолчанию:

Переменная a получит значение c только если b = false (то есть если null, false, undefined, 0, empty string, или NaN), иначе a получит значение b.
Это часто полезно в функциях, когда вы хотите присвоить значение по умолчанию аргументу в случае, если оно не указано:

 

Например IE отказывает в обработчике событий:

Этот оператор позволяет расставить брейкпоинты внутри кода:

 

Если отладчик активен, то это приведет к его остановке прямо на этой линии.
Другими словами, если отладчик не работает в данный момент, то выражение не будет иметь видимого эффекта.
Многострочные литералы

Вы должны быть осторожны, потому как символ рядом с ‘\’ должен заканчивать строку, если у вас стоит пробел после ‘\’, код будет выглядеть так же, но появится SyntaxError.

6. Область действия в JavaScript

JavaScript не имеет области действия блока:

7. Свойства объекта

Вы можете получить доступ к свойствам объекта с помощью [] вместо ‘.’. Это позволяет найти свойство, которое соответствует переменной.

Также вы можете использовать это для получения/установки значения свойства, если его название неразрешенный идентификатор.

Некоторые люди не знают этого и заканчивают это использованием eval(),что по-настоящему плохая идея:

Так код сложнее читать, сложнее находить ошибки(невозможно использование jslint), он медленнее выполняется и может привести к XSS.

8. mdc

Если вы пробовали гуглить что-нибудь по JavaScript на эту тему, то добавьте в запрос «mdc» тогда первые результаты будут от Mozilla Developer Center.
Например:

Google: javascript array sort mdc

(в большинстве случаев можно исключить «javascript»)

UPD: Mozilla Developer Center был переименован в Mozilla Developer Network. Ключевое слово «mdc» работает по-прежнему, но возможно вскоре нужно будет использовать «mdn».

9. Cap Obvious

Установите Firebug и используйте console.log("hello"). Это намного удобнее использования случайных alert();’ов

10. Private методы

Объекты могут иметь private методы

Также вам могут понравится:

15 советов по программированию на языке JavaScript
62 лучших видео для тех, кто хочет углубить знания в JavaScript

Интересуетесь веб-разработкой?

Подпишитесь на нашу рассылку, чтобы получать больше интересных материалов:

И не беспокойтесь, мы тоже не любим спам. Отписаться можно в любое время.




Комментариев: 6

  1. вы хоть проверяйте что выкладываете:
    6. Область действия в JavaScript
    JavaScript не имеет области действия блока:

    Серьезно?? О_о
    and what about ES6?!?

Добавить комментарий