Тест: что выведет этот код?
easy

Тест: что выведет этот код?

Часто это будет совсем не то, что вы думаете

8 вопросов

Тест: что выведет этот код?

Самый простой способ проверить ход работы программы — выводить промежуточные значения на экран и смотреть, правильно всё там или нет. В JavaScript за такой вывод отвечает команда console.log() — программисты её добавляют в сомнительные места скрипта, а потом заглядывают в консоль за результатом. Представьте себя на месте такого программиста и попробуйте заранее понять, что должно появиться на экране.

1/8

Для разминки: что выведет этот код?


console.log(0,1 + 0,2);

0.300000001

Нет.

0.3

Нет, хотя кажется, что должно быть да.

0,1 + 0,2

Да ну, вы чего — кавычек же нет, откуда тогда точный вывод?

0 1 2

Верно, это был вопрос на внимательность.

2/8

На знание: что выведет этот код?


const numbers = [1, 2, 3, 4, 5];
const [y] = numbers;
console.log(y);

Будет ошибка

Не будет, JavaScript легко выкрутится из этой ситуации.

undefined

Почему вы так быстро сдаётесь?

1

Как ни странно, да. Здесь используется деструктуризация — массив перед присваиванием разбивается на элементы и в новую переменную попадает как раз первое значение.

y

Нет, результат будет другим.

3/8

На точность: что выведет этот код?


console.log(0.1 ** 2);

0.2

Это возведение в степень, а не умножение.

0.01

Неточный ответ.

0.010000000000000002

Точный ответ

Нет такого оператора — **

А вот и есть — это возведение в степень.

4/8

Снова на точность: что выведет этот код?


На этот раз используем простое сложение вместо степени: 


console.log(0.1 + 0.2);


0.3

Как ни странно, нет.

Ошибка — нужны запятые вместо точек

Наоборот, поэтому с точками тут всё в порядке.

3

Нет, математика работает не так.

0.30000000000000004

Как ни странно, да — даже при сложении JavaScript испытывает сложности при работе с дробными числами.

5/8

На массивы: что выведет этот код?


x = ['Привет','это','журнал','Код'];
console.log(x[3]);

журнал

А вот и нет — нумерация в массивах в JS начинается с нуля, поэтому у «журнала» индекс 2.

это

Нет.

Код

Да — нумерация в массивах в JS начинается с нуля, поэтому у «Кода» индекс 3.

Привет

Привет. Но ответ неверный.

6/8

На математику: что выведет этот код?


var x = 1;
console.log(x++);

1

Да, потому что ++ стоит после единицы, а значит, увеличит её на 1 ПОСЛЕ обращения к ней.

2

Нет, потому что ++ стоит после единицы, а значит, увеличит её на 1 ПОСЛЕ обращения к ней.

0

Интересно, как вы пришли к этому ответу.

Ошибка

Нет, здесь всё в порядке, проверьте сами.

7/8

На сложную математику: что выведет этот код?


console.log(Infinity / Infinity);

Ошибка

Казалось бы, да, но нет, компьютер с этим справится.

Компьютер зависнет

Нет, он точно с этим справится.

Infinity

Бесконечность нельзя делить на бесконечность: с точки зрения математики это неопределённость, а в JS она обозначается по-другому.

1

Бесконечность нельзя делить на бесконечность: с точки зрения математики это неопределённость, поэтому единица тут не подходит.

NaN

Бесконечность нельзя делить на бесконечность. С точки зрения математики это неопределённость, а в JS она обозначается как NaN.

8/8

Вопрос со звёздочкой: что выведет этот код?


Нам нужно извлечь целое число из строки, но что мы получим на выходе?


console.log(parseInt(' Разница между доходами и расходами: −10,6 тысячи рублей '));


-11

Нет, округлять функция parseInt() не умеет.

-10

Нет, хотя ответ казался очевидным.

-10,6

Нет, это же не целое число.

NaN

Да. Если бы не было слов перед числом, то функция вернула бы −10, но так как в строке сначала идут слова, то parseInt() просто с ней не справляется и возвращает неопределённость.

Результат

Хороший старт

Кажется, вы только начали изучать программирование и вам есть к чему стремиться. Уверены, что у вас всё получится, — это не так сложно, как кажется. Чтобы начать программировать быстрее, приходите в Практикум на курсы фронтенда — там научат и программировать на JavaScript, и делать крутые полезные штуки.

Результат

А вы молодец!

Вы хорошо справляетесь со сложными вопросами и знаете, как работает код в большинстве ситуаций, так держать! Чтобы изучить программирование ещё лучше, приходите в Практикум на курсы фронтенда — там научат и писать программы на JavaScript, и делать крутые полезные штуки.

Результат

Кажется, вы программист

Вы понимаете, как устроен язык и знаете, что будет в каждой сложной ситуации. С такими навыками вам будет просто освоиться и начать карьеру в ИТ. А чтобы изучить программирование ещё лучше, приходите в Практикум на курсы фронтенда — кроме кода на JavaScript, вас научать делать и другие крутые полезные штуки.

JavaScript — это фронтенд
На новом курсе «Практикума» о фронтенде вас обучат самым востребованным технологиям: JS и TypeScript, Flexbox и Grid, React, Git, Bash и др. Это то, что нужно работодателям сегодня. Старт — бесплатно.
Начать бесплатно
JavaScript — это фронтенд JavaScript — это фронтенд JavaScript — это фронтенд JavaScript — это фронтенд

Текст:

Михаил Полянин

Редактор:

Михаил Полянин

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Юлия Зубарева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
easy