Tutorial JS

JS INICIO JS Introducción JS Dónde Salida JS Declaraciones JS Sintaxis JS Comentarios JS Variables JS JS Vamos Constante JS Operadores JS Aritmética JS Tarea JS Tipos de datos JS Funciones JS Objetos JS Eventos JS Cadenas JS Métodos de cadena JS Búsqueda de cadenas JS Plantillas de cadena JS Números JS Métodos numéricos JS Matrices JS Métodos de matriz JS Clasificación de matriz JS Iteración de matriz JS Constante de matriz JS Fechas JS Formatos de fecha JS Métodos de obtención de fecha JS Métodos de configuración de fechas JS Matemáticas JS JS al azar Booleanos JS Comparaciones JS Condiciones JS Interruptor JS Bucle JS para Bucle JS para entrada Bucle JS para de Bucle JS mientras descanso JS Iterables JS Conjuntos JS Mapas JS JS Tipo de Conversión de tipo JS JS bit a bit JS expresión regular Errores JS Alcance JS JS Elevación Modo estricto JS JS esta palabra clave Función de flecha JS Clases JS JSJSON Depuración JS Guía de estilo JS Prácticas recomendadas de JS Errores JS Rendimiento JS Palabras reservadas de JS

Versiones JS

Versiones JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Borde Historia de JS

Objetos JS

Definiciones de objetos Propiedades del objeto Métodos de objeto Visualización de objetos Accesores de objetos Constructores de objetos Prototipos de objetos Objeto iterables Conjuntos de objetos Mapas de objetos Referencia de objeto

Funciones JS

Definiciones de funciones Parámetros de función Invocación de función Llamada de función Función Aplicar Cierres de funciones

Clases JS

Introducción a la clase Herencia de clase Clase estática

JS asíncrono

Devoluciones de llamada JS JS asíncrono Promesas JS JS asíncrono/espera

JS HTML DOM

Introducción al DOM Métodos DOM Documento DOM Elementos DOM DOM HTML Formularios DOM DOM CSS Animaciones DOM Eventos DOM Oyente de eventos DOM Navegación DOM Nodos DOM Colecciones DOM Listas de nodos DOM

Lista de materiales del navegador JS

Ventana JS Pantalla JS Ubicación de JS Historia de JS Navegador JS Alerta emergente JS Tiempo JS Galletas JS

API web de JS

Introducción a la API web API de formularios web API de historial web API de almacenamiento web API de trabajo web API de búsqueda web API de geolocalización web

JS AJAX

Introducción a AJAX AJAX XMLHttp Solicitud AJAX Respuesta AJAX Archivo XML AJAX AJAXPHP Ajax ASP Base de datos AJAX Aplicaciones AJAX Ejemplos de AJAX

JSJSON

Introducción JSON Sintaxis JSON JSON frente a XML Tipos de datos JSON Análisis JSON Cadena JSON Objetos JSON Matrices JSON Servidor JSON JSONPHP JSONHTML JSON JSONP

JS frente a jQuery

Selectores jQuery HTML de jQuery CSS de jQuery DOM de jQuery

Gráficos JS

Gráficos JS Lienzo JS JS Trazado Gráfico JS.js Gráfico de Google JS JS D3.js

Ejemplos de JS

Ejemplos de JS JS HTML DOM Entrada HTML JS Objetos JS HTML Eventos JS HTML Navegador JS Editor JS Ejercicios JS Prueba JS Certificado JS

Referencias JS

Objetos JavaScript Objetos HTML DOM


tipo de JavaScript


En JavaScript hay 5 tipos de datos diferentes que pueden contener valores:

  • string
  • number
  • boolean
  • object
  • function

Hay 6 tipos de objetos:

  • Object
  • Date
  • Array
  • String
  • Number
  • Boolean

Y 2 tipos de datos que no pueden contener valores:

  • null
  • undefined

El tipo de Operador

Puede usar el typeofoperador para encontrar el tipo de datos de una variable de JavaScript.

Ejemplo

typeof "John"                 // Returns "string"
typeof 3.14                   // Returns "number"
typeof NaN                    // Returns "number"
typeof false                  // Returns "boolean"
typeof [1,2,3,4]              // Returns "object"
typeof {name:'John', age:34}  // Returns "object"
typeof new Date()             // Returns "object"
typeof function () {}         // Returns "function"
typeof myCar                  // Returns "undefined" *
typeof null                   // Returns "object"

Por favor observe:

  • El tipo de datos de NaN es número
  • El tipo de datos de una matriz es objeto
  • El tipo de datos de una fecha es objeto.
  • El tipo de datos de nulo es objeto
  • El tipo de datos de una variable indefinida es indefinido *
  • El tipo de datos de una variable a la que no se le ha asignado un valor tampoco está definido *

No puede usar typeofpara determinar si un objeto de JavaScript es una matriz (o una fecha).



Datos primitivos

Un valor de datos primitivo es un único valor de datos simple sin propiedades ni métodos adicionales.

El typeofoperador puede devolver uno de estos tipos primitivos:

  • string
  • number
  • boolean
  • undefined

Ejemplo

typeof "John"              // Returns "string"
typeof 3.14                // Returns "number"
typeof true                // Returns "boolean"
typeof false               // Returns "boolean"
typeof x                   // Returns "undefined" (if x has no value)

Datos complejos

El typeofoperador puede devolver uno de dos tipos complejos:

  • function
  • object

El typeofoperador devuelve "objeto" para objetos, matrices y nulo.

El typeofoperador no devuelve "objeto" para funciones.

Ejemplo

typeof {name:'John', age:34} // Returns "object"
typeof [1,2,3,4]             // Returns "object" (not "array", see note below)
typeof null                  // Returns "object"
typeof function myFunc(){}   // Returns "function"

El typeofoperador devuelve " object" para matrices porque en JavaScript las matrices son objetos.


El tipo de datos de typeof

El typeofoperador no es una variable. es un operador. Los operadores ( + - * / ) no tienen ningún tipo de datos.

Pero, el typeofoperador siempre devuelve una cadena (que contiene el tipo del operando).


La propiedad del constructor

La constructorpropiedad devuelve la función constructora para todas las variables de JavaScript.

Ejemplo

"John".constructor                // Returns function String()  {[native code]}
(3.14).constructor                // Returns function Number()  {[native code]}
false.constructor                 // Returns function Boolean() {[native code]}
[1,2,3,4].constructor             // Returns function Array()   {[native code]}
{name:'John',age:34}.constructor  // Returns function Object()  {[native code]}
new Date().constructor            // Returns function Date()    {[native code]}
function () {}.constructor        // Returns function Function(){[native code]}

Puede verificar la propiedad del constructor para averiguar si un objeto es un Array (contiene la palabra "Array"):

Ejemplo

function isArray(myArray) {
  return myArray.constructor.toString().indexOf("Array") > -1;
}

O incluso más simple, puede verificar si el objeto es una función de matriz :

Ejemplo

function isArray(myArray) {
  return myArray.constructor === Array;
}

Puede verificar la propiedad del constructor para averiguar si un objeto es un Date(contiene la palabra "Fecha"):

Ejemplo

function isDate(myDate) {
  return myDate.constructor.toString().indexOf("Date") > -1;
}

O incluso más simple, puede verificar si el objeto es una función de fecha :

Ejemplo

function isDate(myDate) {
  return myDate.constructor === Date;
}


Indefinido

En JavaScript, una variable sin valor, tiene el valor undefined. El tipo también lo es undefined.

Ejemplo

let car;    // Value is undefined, type is undefined

Cualquier variable se puede vaciar, estableciendo el valor en undefined. El tipo también será undefined.

Ejemplo

car = undefined;    // Value is undefined, type is undefined

Valores vacíos

Un valor vacío no tiene nada que ver con undefined.

Una cadena vacía tiene tanto un valor legal como un tipo.

Ejemplo

let car = "";    // The value is "", the typeof is "string"

Nulo

En JavaScript nulles "nada". Se supone que es algo que no existe.

Desafortunadamente, en JavaScript, el tipo de datos de nulles un objeto.

Puede considerarlo un error en JavaScript que typeof nulles un objeto. debería nullser

Puede vaciar un objeto configurándolo en null:

Ejemplo

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = null;    // Now value is null, but type is still an object

También puede vaciar un objeto configurándolo en undefined:

Ejemplo

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = undefined;   // Now both value and type is undefined

Diferencia entre indefinido y nulo

undefinedy nullson iguales en valor pero diferentes en tipo:

typeof undefined           // undefined
typeof null                // object

null === undefined         // false
null == undefined          // true