28% de descuento del curso en SQL Server

Estrada Web Group Estrada Web Group
Objetos y variables...
Estrada Web Group
Estrada Web Group
Estrada Web Group Estrada Web Group
Calificar:
10 octubre JavaScri..

Objetos y variables booleanas de JavaScript

Objetos y variables booleanas de JavaScript

Resumen: en este tutorial, aprenderás sobre el objeto boolean de JavaScript y las diferencias entre el objeto boolean y el tipo primitivo boolean.

Tipo primitivo boolean de JavaScript

JavaScript proporciona un tipo primitivo booleano que tiene dos valores true y false. El siguiente ejemplo declara dos variables que contienen valores boolean de false y true:

let isPending = false;
let isDone = true;

Cuando aplicas el operador typeof a una variable que contiene un valor boolean primitivo, obtiene el boolean como el siguiente ejemplo:

console.log(typeof(isPending)); //  boolean
console.log(typeof(isDone)); // boolean

Objeto boolean JavaScript

Además del tipo primitivo boolean, JavaScript también le proporciona la función global Boolean(), con la letra B en mayúscula, para convertir un valor de otro tipo en boolean.

El siguiente ejemplo muestra cómo usar la función Boolean() para convertir una cadena en un valor boolean. Como la cadena no está vacía, devuelve true.

let a = Boolean('Hi');
console.log(a); // true
console.log(typeof(a)); // boolean

El Boolean es también un objeto contenedor del tipo primitivo boolean. Significa que cuando pasas true o false al constructor Boolean, creará un objeto Boolean. Por ejemplo:

let b = new Boolean(false);

Para recuperar el valor primitivo, llama al método valueOf() del objeto Boolean de la siguiente manera:

console.log(b.valueOf()); // false

Sin embargo, si llamas al método toString() de un objeto Boolean, obtienes un valor de cadena "true" o "false". Por ejemplo:

console.log(b.toString()); // "false"

boolean vs. Boolean

Considera este ejemplo:

let completed = true;
let active = new Boolean(false);

Primero, active es un objeto, por lo que puedes agregarle una propiedad:

active.primitiveValue = active.valueOf();
console.log(active.primitiveValue); // false

Sin embargo, no puedes hacerlo con la variable booleana primitiva como la variable completed:

completed.name = 'primitive';
console.log(completed.name); // undefined

En segundo lugar, el typeof de objeto booleano devuelve object, mientras que el typeof de valor booleano primitivo devuelve boolean.

console.log(typeof completed); // boolean
console.log(typeof active); // object

En tercer lugar, al aplicar el operador instanceof a un objeto Boolean, devuelve true. Sin embargo, devuelve false si aplicas el operador instanceof a un valor boolean.

console.log(completed instanceof Boolean); // false
console.log(active instanceof Boolean); // true

Es una buena práctica nunca usar el objeto boolean porque creará muchas confusiones, especialmente cuando se usa en una expresión. Por ejemplo:

let falseObj = new Boolean(false);
if (falseObj) {
    console.log('weird part of the Boolean object');
}

Cómo funciona el código.

  • Primero, cree falseObj como una instancia de objeto Boolean para el valor false.
  • En segundo lugar, use falseObj en la instrucción if. Porque falseObj es un objeto, y el motor de JavaScript lo fuerza a un valor booleano de verdadero. Como resultado, se ejecuta la declaración dentro del bloque if.

La siguiente tabla resume las diferencias entre JavaScript Boolean y boolean:

Operador boolean Boolean
typeof boolean object
instanceof Boolean false true

Se recomienda que uses la función Boolean() para convertir un valor de un tipo diferente a un tipo booleano, pero nunca debe usar el boolean como un objeto contenedor de un valor booleano primitivo.

En este tutorial, has aprendido sobre el objeto Boolean de JavaScript y las diferencias entre el objeto Boolean y el tipo primitivo boolean.

Compartir:

Cargando...
Descarga el código fuente

Obten el código del sistema de gestión de proyectos.

Shape