Этот разговор в проблемах Wren заставил меня искать альтернативное название для Bools, которое рассматривает 0 как ложь.
В JavaScript 0 это ложный Анкет
(() => {
const zero = Boolean(0);
// false
console.log(zero);
})();
На других языках, таких как Wren , 0 считается Верно Анкет
var zero = 0
if (zero) {
System.print("zero is true")
}
Таким образом, в качестве способа стандартизации, одна идея использует Деморган ценность как альтернативное название для Bools.
В мире мечты все языки:
Boolрассмотримложный,NULL,неопределенноекак ложное, все остальное, какВерноАнкетДеморганрассмотримложный,NULL,неопределенное,0как ложное, все остальное, какВерноАнкет
Но поскольку есть много языков с различными реализациями и соображениями о том, что 0 означает, идея:
BoolрассмотримложныйКакой бы язык уже ни считалложныйАнкетДеморганрассмотримложныйВсе, что язык уже рассматриваетложный, кроме0какую логическую ценность будет отрицана.
Итак, в примере JavaScript:
(() => {
const zero = Boolean(0);
// false
console.log(zero);
const negatedZero = Demorgan(0);
// true
console.log(negatedZero);
})();
Оригинал: “https://dev.to/clsource/idea-demorgan-type-1j8e”