tgoop.com/prog_way_blog/116
Create:
Last Update:
Last Update:
Есть ли в JavaScript перегрузка функций?
Достаточно интересный вопрос, на который без дополнительных наводящих вопросов от интервьюера мало кто ответит. Чтобы ответить, есть ли перегрузка функций в JavaScript, необходимо узнать что это вообще такое.
Перегрузка функций — или по другому «полиморфизм функций» — это понятие, которое встречается в языках программирования. Если язык поддерживает перегрузку функций, то у разработчика появляется возможность определить две функции с разной логикой, но с одинаковым именем. При вызове интерпретатор сам выберет нужную:
function foo(x, y) {
...
}
function foo(x, y, z ) {
...
}
foo(x, y) // вызовется первая функция
foo(x, y, z) // вызовется вторая функция
Перегрузки функций в JavaScript нет. При интерпретации кода выше, интерпретатор переопределит значение по ссылке
foo
и при вызове функции с разным количеством аргументов мы будем вызывать одну и ту же функцию, только:foo(1, 2)
// x = 1
// y = 2
// z = undefined
foo(1, 2, 3)
// x = 1
// y = 2
// z = 3
Может быть только одна функция с именем
foo
, которая вызывается с любыми аргументами. А уже внутри она может посмотреть, с чем вызвана и по-разному отработать. Для более удобной реализации логики в функциях с динамичным количеством аргументов в JavaScript реализован доступ к «лишним» аргументам через псевдомассив
arguments
. О нём и пойдёт речь в следующем посте.Ну а пока он ещё не вышел, вы можете сделать доброе дело и порекомендовать мой канал своим друзьям, товарищам, коллегам. Моей благодарности не будет предела.
Спасибо за прочтение. Это очень важно для меня ❤️
#javascript #theory
BY progway — программирование, IT

Share with your friend now:
tgoop.com/prog_way_blog/116