Решение задачи JS
Целый день искал ответ на одну задачку по js, но так и ничего не нашел. Возможно поможет сообщество.
Есть данный код:
var a = 1;
if (a) {
function test() {};
a += /* ? */ test;
}
console.log(a);
Вопрос: Что нужно подставить вместо ?, чтобы выход был - "1function", если записать код без ? то выход - "1function test() {}". Спасибо за ответ
Ответы (1 шт):
Автор решения: OPTIMUS PRIME
→ Ссылка
Оператор typeof возвращает тип операнда, в виде строки. Для функций, это "function"
var a = 1;
if (a) {
function test() {};
a += typeof test;
}
console.log(a);
P.s. Сейчас функции можно объявлять где угодно. Где-то в будущем ( use strict ) объявление функций внутри блоков if или циклов, может считаться ошибкой. Поэтому стоит избегать такого кода, и объявлять функции вне if.