JavaScript: undefined
Объявление переменных возможно и без указания конкретного значения. Что будет выведено на экран если её распечатать?
let name;
console.log(name); // ?На экране появится undefined, специальное значение особого типа, которое означает отсутствие значения. Undefined активно используется самим JavaScript в самых разных ситуациях, например, при обращении к несуществующему символу строки:
const name = 'Arya';
console.log(name[8]);Смысл (семантика) значения undefined именно в том, что значения нет. Однако, ничто не мешает написать такой код:
let key = undefined;И хотя интерпретатор позволяет такое сделать, это нарушение семантики значения undefined, ведь в этом коде выполняется присваивание, а значит — подставляется значение.
JavaScript — один из немногих языков, в которых в явном виде присутствует понятие undefined. В остальных языках его роль выполняет значение null, которое, кстати, тоже есть в JavaScript.
Вопрос на самопроверку. Почему нельзя объявить константу без указания значения?
Ответ
Константу невозможно изменить или переопределить. Ее значение необходимо указывать строго при определении.
Задание
Выведите на экран значение undefined, не указывая его явно (через присваивание или передав напрямую в console.log()). Если не догадаетесь, как это сделать, подсмотрите решение учителя.
Полезное
JavaScript: undefined
Объявление переменных возможно и без указания конкретного значения. Что будет выведено на экран если её распечатать?
let name;
console.log(name); // ?На экране появится undefined, специальное значение особого типа, которое означает отсутствие значения. Undefined активно используется самим JavaScript в самых разных ситуациях, например, при обращении к несуществующему символу строки:
const name = 'Arya';
console.log(name[8]);Смысл (семантика) значения undefined именно в том, что значения нет. Однако, ничто не мешает написать такой код:
let key = undefined;И хотя интерпретатор позволяет такое сделать, это нарушение семантики значения undefined, ведь в этом коде выполняется присваивание, а значит — подставляется значение.
JavaScript — один из немногих языков, в которых в явном виде присутствует понятие undefined. В остальных языках его роль выполняет значение null, которое, кстати, тоже есть в JavaScript.
Вопрос на самопроверку. Почему нельзя объявить константу без указания значения?
Ответ
Константу невозможно изменить или переопределить. Ее значение необходимо указывать строго при определении.
Задание
Выведите на экран значение undefined, не указывая его явно (через присваивание или передав напрямую в console.log()). Если не догадаетесь, как это сделать, подсмотрите решение учителя.
Полезное
Ваше упражнение проверяется по этим тестам
// @ts-check
import { expect, test, vi } from 'vitest';
test('undefined', async () => {
const consoleLogSpy = vi.spyOn(console, 'log');
await import('./index.js');
// console.log must be called and must be passed an undefined argument
expect(consoleLogSpy).toHaveBeenCalled();
const [firstCall] = consoleLogSpy.mock.calls;
expect(firstCall?.length).toBeGreaterThan(0);
expect(firstCall?.[0]).toBe(undefined);
});Решение учителя откроется через:
20:00
