Los detalles del objeto global en JavaScript
JavaScript proporciona un objeto global que tiene un conjunto de propiedades, funciones y objetos a los que se accede globalmente, sin un espacio de nombres.
Las propiedades son:
Infinity
NaN
undefined
Las funciones son:
decodeURI()
decodeURIComponent()
encodeURI()
encodeURIComponent()
eval()
isFinite()
isNaN()
parseFloat()
parseInt()
Estos son los objetos:
Array
Boolean
Date
Function
JSON
Math
Number
Object
RegExp
String
Symbol
y errores:
Error
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
Describo los errores en esta publicación de referencia de errores de JavaScript .
Describamos ahora aquí las propiedades y funciones globales.
Infinidad
Infinity
en JavaScript es un valor que representa el infinito .
Infinito positivo. Para obtener infinito negativo, utilice el –
operador: -Infinity
.
Estos son equivalentes a Number.POSITIVE_INFINITY
y Number.NEGATIVE_INFINITY
.
Sumando cualquier número a Infinity
, o multiplicando Infinity
por cualquier número, todavía obtenemos Infinity
.
Yaya
El valor global NaN
es un acrónimo de Not a Number
. Se devuelve mediante operaciones como cero dividido por cero, operaciones parseInt() no válidas u otras operaciones.
parseInt() //NaNparseInt('a') //NaN0/0 //NaN
Una cosa especial a tener en cuenta es que un NaN
valor nunca es igual a otro NaN
valor. Debe utilizar la isNaN()
función global para comprobar si un valor se evalúa como NaN
:
NaN === NaN //false0/0 === NaN //falseisNaN(0/0) //true
indefinido
La undefined
propiedad global contiene el valor primitivo undefined
.
Al ejecutar una función que no especifica un valor de retorno, se devuelve undefined
:
const test = () = {}test() //undefined
A diferencia de NaN
, podemos comparar un undefined
valor con undefined
, y obtener verdadero:
undefined === undefined
Es común utilizar el typeof
operador para determinar si una variable no está definida:
if (typeof dog === 'undefined') {}
decodificarURI()
Realiza la operación opuesta deencodeURI()
decodificarURIComponent()
Realiza la operación opuesta deencodeURIComponent()
codificarURI()
Esta función se utiliza para codificar una URL completa. Codifica todos los caracteres en sus entidades HTML, excepto aquellos que tienen un significado especial en una estructura URI, incluidos todos los caracteres y dígitos, además de esos caracteres especiales:
~!@#$*()=:/,;?+-_.
Ejemplo:
encodeURI("https://flaviocopes.com/ hey!/")//"https://flaviocopes.com/%20hey!/"
encodeURIComponent()
Similar a encodeURI()
, encodeURIComponent()
se supone que tiene un trabajo diferente.
En lugar de utilizarse para codificar una URI completa, codifica una parte de una URI.
Codifica todos los caracteres en sus entidades HTML excepto aquellos que tienen un significado especial en una estructura URI, incluidos todos los caracteres y dígitos, además de esos caracteres especiales:
-_.!~*'()
Ejemplo:
encodeURIComponent("https://www.example.org/a file with spaces.html")// "http%3A%2F%2Fwww.example.org%2Fa%20file%20with%20spaces.html"
evaluar()
Esta es una función especial que toma una cadena que contiene código JavaScript y la evalúa/ejecuta.
Esta función se utiliza muy raramente y por una razón: puede ser peligrosa.
Recomiendo leer este artículo sobre el tema.
esFinito()
Devuelve verdadero si el valor pasado como parámetro es finito.
isFinite(1) //trueisFinite(Number.POSITIVE_INFINITY) //falseisFinite(Infinity) //false
esNaN()
Devuelve verdadero si el valor pasado como parámetro se evalúa como NaN
.
isNaN(NaN) //trueisNaN(Number.NaN) //trueisNaN('x') //trueisNaN(2) //falseisNaN(undefined) //true
Esta función es muy útil porque un NaN
valor nunca es igual a otro NaN
valor. Debes usar la isNaN()
función global para comprobar si un valor se evalúa como NaN
:
0/0 === NaN //falseisNaN(0/0) //true
analizarFloat()
Al igual que parseInt()
, parseFloat()
se utiliza para convertir un valor de cadena en un número, pero conserva la parte decimal:
parseFloat('10,000', 10) //10 ❌parseFloat('10.00', 10) //10 ✅ (considered decimals, cut)parseFloat('10.000', 10) //10 ✅ (considered decimals, cut)parseFloat('10.20', 10) //10.2 ✅ (considered decimals)parseFloat('10.81', 10) //10.81 ✅ (considered decimals)parseFloat('10000', 10) //10000 ✅
analizarInt()
Esta función se utiliza para convertir un valor de cadena en un número.
Otra buena solución para números enteros es llamar a la parseInt()
función:
const count = parseInt('1234', 10) //1234
No olvide el segundo parámetro, que es la base, siempre 10 para números decimales, o la conversión podría intentar adivinar la base y dar resultados inesperados.
parseInt()
intenta obtener un número de una cadena que no solo contiene un número:
parseInt('10 lions', 10) //10
pero si la cadena no comienza con un número, obtendrás NaN
(No es un número):
parseInt("I'm 10", 10) //NaN
Además, al igual que Número, no es confiable con separadores entre los dígitos:
parseInt('10,000', 10) //10 ❌parseInt('10.00', 10) //10 ✅ (considered decimals, cut)parseInt('10.000', 10) //10 ✅ (considered decimals, cut)parseInt('10.20', 10) //10 ✅ (considered decimals, cut)parseInt('10.81', 10) //10 ✅ (considered decimals, cut)parseInt('10000', 10) //10000 ✅
Tips para principiantes de JavaScript
Tal vez te puede interesar:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo contar el número de propiedades en un objeto JavaScript
El objeto global de JavaScript
InfinidadYayaindefinidodecodificarURI()decodificarURIComponent()codificarURI()encodeURIComponent()evaluar()esFinito()esNaN()analizarFloat()analizarInt()
programar
es
2025-01-21

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente