Objeto global | Infinity | NaN | undefined | decodeURI() | decodeURIComponent() | encodeURI() | encodeURIComponent() | eval() | isFinite() | isNaN() | parseFloat() | parseInt()
Objeto global
Cada vez que se ejecuta el interprete de Javascript se crea un objeto global que contiene las propiedades y métodos que podemos llamar como si fueran constantes y funciones.
En estos casos no es necesario incluir el nombre del objeto y un punto para llamarlas.
Este objeto global no es accesible como el resto de objeto de Javascript y solo podemos utilizar sus propiedades y métodos como constantes y funciones globales.
Infinity
Constante especial que indica un número que es mayor que el mayor número de coma flotante.
El infinito negativo (-Infinity
) indica que es un número menor que el menor número de coma flotante.
1 / 0 === Infinity // true
NaN
Constante especial que especifica que una expresión no es un número.
La constante NaN (no es un número) es un miembro del objeto global y está disponible en todo momento.
Los operadores ==
y ===
no pueden utilizarse con NaN
por lo que es necesario utilizar la función isNaN
.
undefined
Constante especial con un valor que nunca ha sido definido.
La constante undefined
es una propiedad del objeto global. Cuando se ha declarado una variable pero no se ha inicializado, su valor es undefined
, pero también podemos asignar este valor a una variable.
var sindefinir = undefined; // no es necesario, pero es perfectamente válido
Hay que tener en cuenta que si no se ha declarado una variable no se puede comparar con la constante undefined
ya que la variable como tal no existe y se debería utilizar typeof
para comparar su resultado con la cadena "undefined"
.
var declarada;
if (declarada === undefined) {
console.log('sin inicializar');
}
decodeURI()
Devuelve un identificador uniforme de recursos (URI) previamente codificado.
SintaxisdecodeURI(cadenaURI)
decodeURI(cadenaURI)
cadenaURI
Valor que representa un URI codificado.
Se debe usar la función decodeURI
en lugar de la función en desuso unescape
.
La función decodeURI
devuelve una cadena con el URI sin codificar o lanza un error URIError
si el parámetro cadenaURI
no es válido. Normalmente la codificación del URI se realizará con la función encodeURI
.
var URIcodificada = 'https://www.todojs.com/%20m%C3%A1s%20informaci%C3%B3n';
console.log(decodeURI(URIcodificada)); // https://www.todojs.com/ más información
decodeURIComponent()
Devuelve un componente válido de un identificador uniforme de recursos (URI) previamente codificado.
SintaxisdecodeURIComponent(cadenaURI)
decodeURIComponent(cadenaURI)
cadenaURI
Valor que representa un componente de URI que queremos descodificar.
La función decodeURIComponent
devuelve un URI codificado, normalmente por medio de la función encodeURIComponent
.
var URIcodificada = 'http%3A%2F%2Fwww.todojs.com%2F';
console.log(decodeURIComponent(URIcodificada)); // https://www.todojs.com/
encodeURI()
Codifica un identificador uniforme de recursos (URI).
SintaxisencodeURI(cadenaURI)
encodeURI(cadenaURI)
cadenaURI
URI que deseamos codificar.
Se debe usar la función encodeURI
en lugar de la función en desuso escape
.
La función encodeURI
devuelve una cadena con el URI codificado o lanza un error URIError
si el parámetro cadenaURI
no es válido. La cadena devuelta se puede decodificar con la función decodeURI
.
var URIsincodificar = 'https://www.todojs.com/ más información';
console.log(encodeURI(URIsincodificar)); // https://www.todojs.com/%20m%C3%A1s%20informaci%C3%B3n
La función encodeURI
no codifica los caracteres: :
, /
, ;
y ?
. Se puede usar la función encodeURIComponent
para obtener una URI donde se codifiquen estos caracteres.
encodeURIComponent()
Codifica una cadena de texto como un componente válido de un identificador uniforme de recursos (URI), incluidos todos los caracteres especiales.
SintaxisencodeURIComponent(cadenaURI)
encodeURIComponent(cadenaURI)
cadenaURI
Valor que representa un componente de URI que queremos codificar.
La función encodeURIComponent
devuelve un URI codificado y su resultado es decodificado pro la función decodeURIComponent
que devuelve la cadena original.
La función encodeURIComponent
codifica todos los caracteres, excepto las letras, dígitos, y los siguientes caracteres especiales: -
, _
, .
, !
, ~
, *
, '
, (
y )
.
var URIsincodificar = 'https://www.todojs.com/';
console.log(encodeURIComponent(URIsincodificar)); // http%3A%2F%2Fwww.todojs.com%2F
eval()
Evalúa código Javascript de forma dinámica y lo ejecuta.
Sintáxiseval(codigo)
eval(codigo)
codigo
Cadena de caracteres que contiene código válido de Javascript que se evaluará y ejecutará.
La función eval
permite la ejecución dinámica de código fuente de Javascript, que se ejecutará en el mismo contexto que en la que se realiza la llamada a la función eval
.
var hoy;
eval("hoy = new Date();");
console.log(hoy.toISOString());
El uso de eval
es muy controvertido y se ha extendido la expresión -en inglés-: "eval is evil" (eval
es el diablo).
isFinite()
Determina si un número es un número finito válido.
SintaxisisFinite(numero)
isFinite(numero)
numero
Cualquier valor que queramos comprobar si es un número finito válido. Si el valor no es numérico Javascript convertirá el valor a ese tipo si es posible.
La función isFinite
devuelve true
si el numero es cualquier valor distinto de NaN
, infinito negativo o infinito positivo, en cuyo caso devuelve false.
isFinite("hola"); // false
isFinite(Number.MAX_VALUE * 10); // false
isFinite(1000); // true
isFinite("1000"); // true
isNaN()
Devuelve un valor lógico que indica si un valor es `NaN` (no es un número).
SintaxisisNaN(valor)
isNaN(valor)
valor
Valor que se quiere comprobar si es un número o puede ser convertido a un número.
isNan
devuelve true
si al intenar convertir el valor al tipo número se obtiene NaN
(no es un número) o false
si es un número válido.
isNaN("ABC"); // true
isNaN("100"); // false
isNaN(100); // false
parseFloat()
Convierte una cadena en un número de punto flotante.
SintáxisparseInt(cadenaNum)
parseInt(cadenaNum)
cadenaNum
Cadena que se va a convertir en número de coma flotante.
parseInt("abc"); // NaN
parseInt("1.2abc"); // 1.2
Se puede comprobar si ha devuelto NaN
mediante la función isNaN
.
parseInt()
Convierte una cadena en un entero.
SintáxisparseInt(cadenaNum, [radix])
parseInt(cadenaNum, [radix])
cadenaNum
Cadena que se va a convertir en número.
[radix]
Valor entre 2 y 36 que define la base del número que se incluye en
cadenaNum
. Si no se pasa este argumento las cadenas con un prefijo0x
se consideran hexadecimales, todas las demás se consideran decimales.
parseInt("abc"); // NaN
parseInt("12abc"); // 12
parseInt('0xA', 16); // 10
Se puede comprobar si ha devuelto NaN
mediante la función isNaN
.