Тест: что выведет этот код?
Самый простой способ проверить ход работы программы — выводить промежуточные значения на экран и смотреть, правильно всё там или нет. В JavaScript за такой вывод отвечает команда console.log() — программисты её добавляют в сомнительные места скрипта, а потом заглядывают в консоль за результатом. Представьте себя на месте такого программиста и попробуйте заранее понять, что должно появиться на экране.
Для разминки: что выведет этот код?
console.log(0,1 + 0,2);
0.3
0.300000001
Нет.
0,1 + 0,2
Да ну, вы чего — кавычек же нет, откуда тогда точный вывод?
0 1 2
Верно, это был вопрос на внимательность.
На знание: что выведет этот код?
const numbers = [1, 2, 3, 4, 5];
const [y] = numbers;
console.log(y);
Будет ошибка
Не будет, JavaScript легко выкрутится из этой ситуации.
y
Нет, результат будет другим.
1
Как ни странно, да. Здесь используется деструктуризация — массив перед присваиванием разбивается на элементы и в новую переменную попадает как раз первое значение.
undefined
Почему вы так быстро сдаётесь?
На точность: что выведет этот код?
console.log(0.1 ** 2);
0.2
Это возведение в степень, а не умножение.
0.010000000000000002
Точный ответ
Нет такого оператора — **
А вот и есть — это возведение в степень.
0.01
Неточный ответ.
Снова на точность: что выведет этот код?
На этот раз используем простое сложение вместо степени:
console.log(0.1 + 0.2);
3
Нет, математика работает не так.
0.30000000000000004
Как ни странно, да — даже при сложении JavaScript испытывает сложности при работе с дробными числами.
Ошибка — нужны запятые вместо точек
Наоборот, поэтому с точками тут всё в порядке.
0.3
Как ни странно, нет.
На массивы: что выведет этот код?
x = ['Привет','это','журнал','Код'];
console.log(x[3]);
журнал
А вот и нет — нумерация в массивах в JS начинается с нуля, поэтому у «журнала» индекс 2.
Код
Да — нумерация в массивах в JS начинается с нуля, поэтому у «Кода» индекс 3.
Привет
Привет. Но ответ неверный.
это
Нет.
На математику: что выведет этот код?
var x = 1;
console.log(x++);
Ошибка
Нет, здесь всё в порядке, проверьте сами.
2
Нет, потому что ++ стоит после единицы, а значит, увеличит её на 1 ПОСЛЕ обращения к ней.
1
Да, потому что ++ стоит после единицы, а значит, увеличит её на 1 ПОСЛЕ обращения к ней.
0
Интересно, как вы пришли к этому ответу.
На сложную математику: что выведет этот код?
console.log(Infinity / Infinity);
Компьютер зависнет
Нет, он точно с этим справится.
Ошибка
Казалось бы, да, но нет, компьютер с этим справится.
Infinity
Бесконечность нельзя делить на бесконечность: с точки зрения математики это неопределённость, а в JS она обозначается по-другому.
1
Бесконечность нельзя делить на бесконечность: с точки зрения математики это неопределённость, поэтому единица тут не подходит.
NaN
Бесконечность нельзя делить на бесконечность. С точки зрения математики это неопределённость, а в JS она обозначается как NaN.
Вопрос со звёздочкой: что выведет этот код?
Нам нужно извлечь целое число из строки, но что мы получим на выходе?
console.log(parseInt(' Разница между доходами и расходами: −10,6 тысячи рублей '));
NaN
Да. Если бы не было слов перед числом, то функция вернула бы −10, но так как в строке сначала идут слова, то parseInt() просто с ней не справляется и возвращает неопределённость.
-10,6
Нет, это же не целое число.
-10
Нет, хотя ответ казался очевидным.
-11
Нет, округлять функция parseInt() не умеет.
Хороший старт
Кажется, вы только начали изучать программирование и вам есть к чему стремиться. Уверены, что у вас всё получится, — это не так сложно, как кажется. Чтобы начать программировать быстрее, приходите в Практикум на курсы фронтенда — там научат и программировать на JavaScript, и делать крутые полезные штуки.
А вы молодец!
Вы хорошо справляетесь со сложными вопросами и знаете, как работает код в большинстве ситуаций, так держать! Чтобы изучить программирование ещё лучше, приходите в Практикум на курсы фронтенда — там научат и писать программы на JavaScript, и делать крутые полезные штуки.
Кажется, вы программист
Вы понимаете, как устроен язык и знаете, что будет в каждой сложной ситуации. С такими навыками вам будет просто освоиться и начать карьеру в ИТ. А чтобы изучить программирование ещё лучше, приходите в Практикум на курсы фронтенда — кроме кода на JavaScript, вас научать делать и другие крутые полезные штуки.
Нет, хотя кажется, что должно быть да.