«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Декодирование JavaScript: освоение нулевых, неопределенных и пустых значений

Декодирование JavaScript: освоение нулевых, неопределенных и пустых значений

Опубликовано 6 августа 2024 г.
Просматривать:901

Decoding JavaScript: Mastering Null, Undefined, and Empty Values

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

1. Ноль

null — это намеренное отсутствие значения. Он представляет собой переменную, которая явно определена как не имеющая не значения.

let myVariable = null;
console.log(myVariable); // Output: null
console.log(typeof myVariable); // Output: "object"

Примечание: typeof null возвращает объект, что является известной особенностью JavaScript из-за устаревших причин.

2. Не определено

undef представляет переменную, которая была объявлена, но ей еще не присвоено значение.

let myUndefinedVariable;
console.log(myUndefinedVariable); // Output: undefined
console.log(typeof myUndefinedVariable); // Output: "undefined"

function myFunction(param) {
    console.log(param);
}
myFunction(); // Output: undefined

3. Пустая строка ('')

Пустая строка – это допустимая строка нулевой длины.

let emptyString = '';
console.log(emptyString); // Output: ""
console.log(typeof emptyString); // Output: "string"
console.log(emptyString.length); // Output: 0

4. Пустой массив ([])

Пустой массив представляет собой список без элементов.

let emptyArray = [];
console.log(emptyArray); // Output: []
console.log(typeof emptyArray); // Output: "object"
console.log(Array.isArray(emptyArray)); // Output: true
console.log(emptyArray.length); // Output: 0

5. Сравнение и варианты использования

Давайте сравним эти разные типы:

console.log(null == undefined); // Output: true
console.log(null === undefined); // Output: false

console.log('' == null); // Output: false
console.log('' == undefined); // Output: false

console.log([] == null); // Output: false
console.log([] == undefined); // Output: false

console.log(Boolean(null)); // Output: false
console.log(Boolean(undefined)); // Output: false
console.log(Boolean('')); // Output: false
console.log(Boolean([])); // Output: true

Проверка на ноль или неопределенность

function isNullOrUndefined(value) {
    return value == null;
}

console.log(isNullOrUndefined(null)); // Output: true
console.log(isNullOrUndefined(undefined)); // Output: true
console.log(isNullOrUndefined('')); // Output: false
console.log(isNullOrUndefined([])); // Output: false

Обработка пустых строк и массивов

function isEmpty(value) {
    if (typeof value === 'string') {
        return value.length === 0;
    }
    if (Array.isArray(value)) {
        return value.length === 0;
    }
    return false;
}

console.log(isEmpty('')); // Output: true
console.log(isEmpty([])); // Output: true
console.log(isEmpty('hello')); // Output: false
console.log(isEmpty([1, 2, 3])); // Output: false

6. Лучшие практики

  1. Используйте значение null, если хотите явно указать, что переменная не имеет значения.
  2. Пусть переменные не определены, если им не присвоено значение.
  3. Используйте пустые строки (''), если вам нужна строка без символов.
  4. Используйте пустые массивы ([]), если вам нужен список без элементов.
  5. Всегда используйте строгое равенство (===), если у вас нет особой причины не делать этого.
  6. При проверке значения NULL или неопределенного значения вы можете использовать значение == NULL.

Заключение

Понимание различий между нулевыми, неопределенными, пустыми строками и пустыми массивами имеет решающее значение для написания чистого и безошибочного кода JavaScript. Каждый из них имеет свои варианты использования и по-разному ведет себя при сравнении и проверке типов. Правильно используя эти значения и зная их нюансы, вы можете писать более надежные и удобные в обслуживании приложения JavaScript.

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

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/akshatsoni26/decoding-javascript-mastering-null-undefine-and-empty-values-hld?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3