This content originally appeared on DEV Community and was authored by Luís Von Muller
🤔 False, true, "Falsy" & "Truthy" 👀
⚙️ Entendendo um pouco do contexto Geral.
Na computação temos um Tipo chamado: "Booleano". O que é: Booleano?
Aqui estamos falando tipo primitivo do TypeScript: "Boolean". (⊙.☉)7
Ser do tipo (Booleano) significa que algum valor, isto é, alguma variável, constante ou qualquer coisa que possuí em si um valor desse tipo pode ser:
- Verdadeiro (Isto é, true) 👍
- Falso (Isto é, false) 👎
O nome "Booleano" (Boolean em TypeScript) faz uma homenagem ao Matemático & Filósofo George Boole, ele "construiu" a base algébrica necessária para a criação Lógica Algébrica que podemos usar para: Operações lógicas (em booleanos) como conjunção (||), disjunção (&&), disjunção exclusiva ((p && !q) || (!p && q)), equivalência lógica (==) e negação (!), que correspondem a algumas das operações da álgebra booliana (É a parte da do conceito da Matemática Discreta).
Fornecendo um exemplo básico ԅ(≖‿≖ԅ):
/** Vamos iniciar uma constante "Booleana" verdadeira */
const constanteVerdadeira: Boolean = true;
/** Vamos iniciar uma constante "Booleana" falsa através da inversão do seu valor boleano com o operador "!" */
const constanteFalsa: Boolean = !constanteVerdadeira;
if(constanteFalsa && constanteVerdadeira ) {
console.log("Ambas as constantes são verdadeiras. ヽ(´▽`)/")
} else if (constanteFalsa || constanteVerdadeira) {
console.log("Ao menos uma das constantes são falsas ( ಠ ʖ̯ ಠ )")
} else {
console.warn("Nenhuma constante é verdadeira (҂◡_◡)")
}
🤔 Por que existe: "Falsy" ou "Truthy"?
Na lógica, afirmações diferentes são logicamente equivalentes se tiverem o mesmo conteúdo lógico. Isto é, se elas tiverem o mesmo valor de verdade em todos os modelos. Também conhecido por "Tautologia", isto é, algo que é correspondente em termos lógicos.
👎 O que é o "Falsy" ou _Errôneo/_Falseáveis ?
***➡️ Falsy é um *"_pseudo tipo*_" **logicamente equivalente ao **Valor Primitivo *false para o JavaSript.
Os valores que seriam aceitos como false seriam:
- 0 - (O valor numérico Zero).
- 0n - (Um inteiro de GIGANTE cujo valor numérico é zero - um bigInt).
- null - (O tipo primitivo Nulo).
- undefined - (Algo que não possui valor atribuído, isto é, indefinido).
- NaN (Not-a-Number** -** algo que não é um número pertencente ao conjuntos dos reais)
- "" ou '' ** (Uma cadeia de **caracteres vazia)
Segue a prova do supracitado (☞゚ヮ゚)☞
const inteiroDeValorNumericoZero: number = 0;
const floatDeValorNumericoZero: number = 0.0;
const inteiroGrandeComValorNumericoZero: bigint = BigInt(0);
const nulo: null = null;
let indefinido;
const naoNumero: number = Number.NaN; //Sim, o tipo de NaN é "numero" ¯\_(ツ)_/¯
const cadeiaDeCaracteresVazia = '';
let valoresInexatos: unknown[] = [
inteiroDeValorNumericoZero,
floatDeValorNumericoZero,
inteiroGrandeComValorNumericoZero,
nulo,
indefinido,
naoNumero,
cadeiaDeCaracteresVazia
]
valoresInexatos.forEach((valor) => console.log(valor ? "Verídico" : "Errôneo/Falseáveis"));
O que é "Truthy" ou Verídico?
Truthy é um "pseudo tipo" *logicamente equivalente ao **Valor Primitivo *true* para o JavaSript.*
Os valores que seriam aceitos como true seriam:
- '0' ou "0" - (Uma cadeia de caracteres com o Valor numérico zero dentro dela).
- 'false' ou "false" (...) - (Uma cadeira de caracteres com a palavra "false").
- []_ - (Um** vetor ("**_array" **vazio), isto é, **sem elementos presentes dentro dele)
- {} - (Um objeto sem nenhuma propriedade.)
- ()=>{} - (Uma definição de função anônima ou não.
Segue a prova do supracitado (☞゚ヮ゚)☞
const cadeiaDeCaracteresComZero: string = '0';
const cadeiaDeCarcteresComAPalavraFalse: string = 'false';
const vetorVazio: number[] = [];
const funcaoNomeada: Function = () => {
//vazia
}
let valoresVeridicos: unknown[] = [
cadeiaDeCaracteresComZero,
cadeiaDeCarcteresComAPalavraFalse,
vetorVazio,
funcaoNomeada,
() => {}
]
valoresVeridicos.forEach((valor) => console.log(valor ? "Verídico" : "Errôneo/Falseado"));
This content originally appeared on DEV Community and was authored by Luís Von Muller
Luís Von Muller | Sciencx (2021-11-17T21:07:39+00:00) 🤔 False, true, “Falsy” & “Truthy” 👀. Retrieved from https://www.scien.cx/2021/11/17/%f0%9f%a4%94-false-true-falsy-truthy-%f0%9f%91%80/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.