Junior
129
questionbank
Что делает оператор двойного восклицательного знака в языке программирования?
AI答案
sobes.tech AI
Преобразует значение в булево. Эквивалентен двукратному применению оператора не (!).
Первое ! приводит значение к булеву типу, инвертируя его. Например, непустая строка 'abc' становится false, а 0 — true.
Второе ! инвертирует результат первого, возвращая исходное булево представление значения. Таким образом, 'abc' становится true, а 0 — false.
Примеры в JavaScript:
// Преобразование непустой строки
console.log(!!'hello'); // true
// Преобразование числа 0
console.log(!!0); // false
// Преобразование null
console.log(!!null); // false
// Преобразование undefined
console.log(!!undefined); // false
// Преобразование пустого массива
console.log(!![]); // true
// Преобразование пустого объекта
console.log(!!{}); // true
Примеры в Python (хотя в Python нет нативного оператора !!, можно эмулировать его поведение):
# Эмуляция с помощью bool()
print(bool('hello')) # True
print(bool(0)) # False
print(bool([])) # True
print(bool({})) # True
# Эмуляция с помощью not not
print(not not 'hello') # True
print(not not 0) # False
print(not not []) # True
print(not not {}) # True
Основная цель — явное приведение к булеву типу, часто используется для проверки "истинности" (truthiness) значения в контексте булевых операций и условных конструкций.