Шрифт:
В примере 8.5 (раздел 8.7.4) демонстрируется более практичный способ использования идиомы
8.2.3. Вызов конструкторов
Если вызову функции или метода предшествует ключевое слово
Если вызов конструктора включает список аргументов в скобках, эти выражения-аргументы вычисляются и передаются конструктору точно так же, как любой другой функции или методу. Но если конструктор не имеет параметров, синтаксис вызова конструктора в языке JavaScript позволяет вообще опустить скобки и список аргументов. При вызове конструктора всегда можно опустить пару пустых скобок. Например, следующие две строки полностью эквивалентны:
Вызов конструктора создает новый пустой объект, наследующий свойство
Как правило, в функциях-конструкторах не используется инструкция
8.2.4. Косвенный вызов
Функции в языке JavaScript являются объектами и подобно другим объектам имеют свои методы. В их числе есть два метода,
8.3. Аргументы и параметры функций
В языке JavaScript, в определениях функций не указываются типы параметров, а при вызове функций не выполняется никаких проверок типов передаваемых значений аргументов. Фактически при вызове функций в языке JavaScript не проверяется даже количество аргументов. В подразделах ниже описывается, что происходит, если число аргументов в вызове функции меньше или больше числа объявленных параметров. В них также демонстрируется, как можно явно проверить типы аргументов функции, если необходимо гарантировать, что функция не будет вызвана с некорректными аргументами.
8.3.1. Необязательные аргументы
Когда число аргументов в вызове функции меньше числа объявленных параметров, недостающие аргументы получают значение