Задачи по JavaScript для начинающих
На этом уроке мы разберем задачи с реальных собеседований, решая которые, можно понять насколько вы подготовлены.
Задача #1
Какое будет выведено значение: let x = 5; alert(x++); ?
В переменной x лежит число 5, оператор инкремента ++ увеличивает значение переменной на единицу, но прежде вернется исходное значение.
let x = 5;
alert(x++); // результат 6
Задача #2
Чему равно такое выражение: [ ] + false - null + true ?
Сначала выведем в консоль первую часть выражения. Cумма пустого массива и значения логического типа данных false, возвращает false. А все потому, что пустой массив приводится к строковому типу данных - пустой массив автоматически заменяется на пустую строку. При сложении строки с другим типом данных, получается строка. Получается, что первая часть выражения возвращает небулевое значение false, а строку "false".
console.log( [ ] + false ); //false
Что будет, если от строки отнять null? Мы получаем not a number. Что означает не математическую операцию и дальнейшие действия уже не имеет смысла продолжать.
console.log( [ ] + false - null ); // ответ "NaN"
Задача #3
Что выведет этот код: let y = 1; let x = y = 2; console.log(x); ?
У нас есть переменная y со значением 1. Затем меняем значение переменной y на 2 и присваиваем значение переменной y, в переменную x. Внимание вопрос, что находится в переменной x? Да тоже самое, что и в переменной y.
let y = 1;
let x = y = 2;
console.log(x); //Ответ "2"
Задача #4
Чему равна сумма [ ] + 1 + 2?
Чему равна сумма пустого массива с числами? Мы уже знаем, что пустой массив является строкой, а любые математические действия со строками, дают в результате строку. Полученное значение "12" является строкой, а не числом.
console.log([ ] + 1 + 2); // Ответ "12"
Задача #5
Что выведет этот код: alert( "1"[0] )?
Данный код содержит строку "1" и нулевой индекс. К каждому элементу строки можно обратиться по его индексу (порядковому номеру). Когда мы обращаемся к первому элементу строки, через её индекс, то действительно получаем значение "1".
console.log( "1"[0]); // Результат '1'
Задача #6
Чему равно 2 && 1 && null && 0 && undefined ?
Логический оператор && (И) всегда запинается на ложных утверждениях. Когда оператор дошел до ложного утверждения null, то дальше уже не идет, а сразу возвращает null. В программировании null - это ничего.
console.log(2 && 1 && null && 0 && undefined); // null
Задача #7
a = [1, 2, 3]; b = [1, 2, 3]; Правда ли что a == b ?
У нас есть два одинаковых массива, равны ли они между собой? Они не равны, так как в переменных с массивами хранятся лишь ссылки на разные хранилища данных. Здесь можно провести аналогию, когда два одинаковых дома имеют разные адреса.
const a = [1, 2, 3];
const b = [1, 2, 3];
console.log(a==b); //ответ false
Задача #8
Верно ли сравнение: "Мёд" > "пчела"?
Сравнивая между собой строки, машина руководствуется кодировками юникода. Все символы в программировании имеют свое соответствие кодам юникода. Сравниваются между собой не буквы, а коды юникода.
console.log("Мёд" > "пчела"); // false
-
- Михаил Русаков
Комментарии (2):
document.write()
Ответить
document.write – добавляет текст к документу. В консоль же выводится результат действий, для самопроверки.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.