TypeScript Number
TypeScript, similar a JavaScript, admite el objeto Number.
En TypeScript, el objeto Number se utiliza para envolver tipos numéricos.El objeto Number es un objeto envoltorio del valor numérico primitivo.
Al igual que el objeto String, el objeto Number es un tipo de referencia, que difiere del tipo básico number.
Aunque el objeto Number proporciona algunas propiedades y métodos adicionales, en TypeScript se recomienda usar directamente el tipo básico number, porque el objeto Number conlleva una sobrecarga de rendimiento y confusión de tipos.
Sintaxis
var num = new Number(value);
Tenga en cuenta que esto crea un objeto de tipo referencia, no un tipo básico number.
Nota:Si un valor de parámetro no se puede convertir a un número, se devolverá NaN (valor no numérico).
Diferencia entre el objeto Number y el tipo básico number
- Tipo básico
number: tipo de dato primitivo, utilizado para almacenar valores numéricos. NumberObjeto: tipo de referencia, es un objeto envoltorio que envuelve valores numéricos básicos.
Ejemplo
let numObject: Number = new Number(42);
console.log(typeof numLiteral); // Salida: "number"
console.log(typeof numObject); // Salida: "object"
Propiedades del objeto Number
La siguiente tabla enumera las propiedades admitidas por el objeto Number:
| N.º | Propiedad y descripción |
|---|---|
| 1. | MAX_VALUE El número más grande representable, el valor de la propiedad MAX_VALUE se aproxima a 1.79E+308. Los valores mayores que MAX_VALUE representan "Infinity". |
| 2. | MIN_VALUE El número más pequeño representable, es decir, el número positivo más cercano a 0 (en realidad no se convierte en 0). El número negativo más grande es -MIN_VALUE, y el valor de MIN_VALUE es aproximadamente 5e-324. Los valores menores que MIN_VALUE ("underflow values") se convertirán en 0. |
| 3. | NaN Valor no numérico (Not-A-Number). |
| 4. | NEGATIVE_INFINITY Infinito negativo; este valor se devuelve cuando hay desbordamiento. Este valor es menor que MIN_VALUE. |
| 5. | POSITIVE_INFINITY Infinito positivo; este valor se devuelve cuando hay desbordamiento. Este valor es mayor que MAX_VALUE. |
| 6. | prototype Propiedad estática del objeto Number. Le permite agregar propiedades y métodos al objeto. |
| 7. | constructor Devuelve una referencia a la función Number que creó este objeto. |
TypeScript
Al compilar el código anterior, se obtiene el siguiente código JavaScript:
JavaScript
El resultado es:
TypeScript Number 属性: 最大值为: 1.7976931348623157e+308 最小值为: 5e-324 负无穷大: -Infinity 正无穷大:Infinity
Ejemplo de NaN
TypeScript
Al compilar el código anterior, se obtiene el siguiente código JavaScript:
JavaScript
El resultado es:
月份是:NaN
Ejemplo de prototype
TypeScript
Al compilar el código anterior, se obtiene el siguiente código JavaScript:
JavaScript
El resultado es:
员工号: 123 员工姓名: admin 员工邮箱: [email protected]
Métodos del objeto Number
El objeto Number admite los siguientes métodos:
| N.º | Método y descripción | Ejemplo |
|---|---|---|
| 1. | toExponential()
Convierte el valor del objeto a notación exponencial. |
//toExponential() var num1 = 1225.30 var val = num1.toExponential(); console.log(val) // 输出: 1.2253e+3 |
| 2. | toFixed()
Convierte un número en una cadena y especifica el número de decimales. |
var num3 = 177.234
console.log("num3.toFixed() 为 "+num3.toFixed()) // 输出:177
console.log("num3.toFixed(2) 为 "+num3.toFixed(2)) // 输出:177.23
console.log("num3.toFixed(6) 为 "+num3.toFixed(6)) // 输出:177.234000
|
| 3. | toLocaleString()
Convierte un número en una cadena, utilizando el formato numérico local. |
var num = new Number(177.1234); console.log( num.toLocaleString()); // 输出:177.1234 |
| 4. | toPrecision()
Formatea un número con la longitud especificada. |
var num = new Number(7.123456); console.log(num.toPrecision()); // 输出:7.123456 console.log(num.toPrecision(1)); // 输出:7 console.log(num.toPrecision(2)); // 输出:7.1 |
| 5. | toString()
Convierte un número en una cadena, utilizando la base especificada. La base del número es un entero entre 2 y 36. Si se omite este parámetro, se utiliza la base 10. |
var num = new Number(10); console.log(num.toString()); // 输出10进制:10 console.log(num.toString(2)); // 输出2进制:1010 console.log(num.toString(8)); // 输出8进制:12 |
| 6. | valueOf()
Devuelve el valor numérico primitivo de un objeto Number. |
var num = new Number(10); console.log(num.valueOf()); // 输出:10 |
Recomendaciones de uso del objeto Number
En TypeScript, generalmente se recomienda usar el tipo básico number en lugar del objeto Number. Las razones son las siguientes:
- Rendimiento: los tipos básicos son más ligeros y ofrecen un mejor rendimiento.
- Consistencia de tipos: el sistema de tipos de TypeScript prefiere los tipos básicos; usar
Numberel objeto puede provocar discrepancias de tipos inesperadas. - Mejores prácticas: el uso de tipos básicos
numberes más acorde con las mejores prácticas de TypeScript y evita la complejidad innecesaria que implica el envoltorio de objetos.
Si realmente es necesario usar métodos específicos del objeto Number, se puede convertir el objeto Number al tipo básico number mediante el método valueOf().
En resumen, TypeScript recomienda usar el tipo básico number en lugar del objeto Number para mantener el código simple, eficiente y consistente.
Ejemplo
let numObject: Number = new Number(123.456);
console.log(numLiteral.toFixed(2)); // Salida: "123.46"
console.log(numObject.valueOf()); // Salida: 123.456