Упражнения

№ 1

Рассмотрите такой код:

var a = 10;
var b = 12;
var c = a() + b;

Есть ли тут ошибки? Если да, то какого типа?

SyntaxErrorна строке 1 ReferenceErrorна строке 2 TypeErrorна строке 3. Ошибок нет

№ 2

Возможно ли иметь все четыре типа ошибок в одной строке кода?

Нет! Одна строка — одна ошибка, максимум.

Да! Программирование — это здорово!

№ 3

Рассмотрите такой код:

var func = () => {
  var a = 120.323;
  return 10 * a * b;
};

Есть ли тут ошибки? Если да, то какого типа?

TypeErrorна строке 2 ReferenceErrorна строке 3. SyntaxErrorна строке 4 Ошибок нет

№ 4

Программа не может работать при возникновенииReferenceError, но может работать при возникновенииTypeError. Правильно?

Нет, не правильно. Программа не может работать ни в одном из случаев..
Правильно!
Нет, не правильно. Программа может работать в обоих случаях.

№ 5

Представьте что мы выполняем скрипт, в котором есть только одна строчка:

  console.log(sum(5, 10));

Что будет выведено на экран?

Сообщение о том что функцияsumне существует.
15
undefined

№ 6 Summary

Обычно вам нужно избегать ошибок, но в этом упражнении вы будете порождать ошибки. Это поможет вам понять, какие типы ошибок возникают в разных ситуациях, и привыкнуть распознавать их в будущем.

Вы будете работать в двух файлах —reference.jsиtype.js. Ваша задача — породить две ошибки внутри специально созданных функций.

Создайте функциюreference.

Код внутри функции должен породить ошибку типаReferenceError.

Вспомните, чтоReferenceErrorвозникает, когда используется несуществующий идентификатор (имя). Например, если ваша функция возвращает значение константы, но такой константы не существует. Или в каком-нибудь выражении (фрагмент кода, который вычисляется в значение, как формула) используется неизвестный идентификатор.

Создайте функциюtype.

Код внутри функции должен породить ошибку типаTypeError.

Вспомните, чтоTypeErrorвозникает, когда вы используете неправильный тип. Например, если вы пытаетесь вызвать численную константу как функцию.

ВАЖНО

Ошибки должны генерироватьсявнутри функций. То есть, сначала создайте функции с именамиreferenceиtype, а внутри тела функций уже пишите код, который будет вызывать ошибки.

results matching ""

    No results matching ""