Skip to content

Commit d139f3f

Browse files
committed
susy220712
2 parents becfe45 + 82ed8f1 commit d139f3f

File tree

22 files changed

+106
-77
lines changed

22 files changed

+106
-77
lines changed

Diff for: 1-js/01-getting-started/2-manuals-specifications/article.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Este libro es un *tutorial*. Su objetivo es ayudarte a aprender el lenguaje grad
55

66
## Especificación
77

8-
[La especificación ECMA-262](https://www.ecma-international.org/publications/standards/Ecma-262.htm) contiene la información más exhaustiva, detallada, y formal sobre JavaScript. En ella se define el lenguaje.
8+
[La especificación ECMA-262](https://www.ecma-international.org/publications/standards/Ecma-262.htm) contiene la información más exhaustiva, detallada y formal sobre JavaScript. En ella se define el lenguaje.
99

1010
Pero por su estilo formal, es difícil de entender a primeras. Así que si necesitas la fuente de información más fiable sobre los detalles del lenguaje, esta especificación es el lugar correcto a consultar. Es de entender entonces que no es para el uso diario.
1111

@@ -25,11 +25,11 @@ Aunque a menudo es preferible una búsqueda en internet. Simplemente añade "MDN
2525

2626
## Tablas de compatibilidad
2727

28-
JavaScript es un lenguaje en evolución, nuevas características son adicionadas regularmente.
28+
JavaScript es un lenguaje en evolución, regularmente se agregan nuevas características.
2929

3030
Para ver la compatibilidad por navegador y otros motores, consultar:
3131

32-
- <https://caniuse.com> - tablas de compatibilidad por característica, p.ej. para comprobar qué motores soportan funciones modernas de criptografía: <https://caniuse.com/#feat=cryptography>.
32+
- <https://caniuse.com> - tablas de compatibilidad por característica. Por ejemplo, para comprobar qué motores soportan funciones modernas de criptografía: <https://caniuse.com/#feat=cryptography>.
3333
- <https://kangax.github.io/compat-table> - tabla que muestra la compatibilidad o no de las prestaciones del lenguaje por motor.
3434

3535
Todos estos recursos son de utilidad para el desarrollo con JavaScript, ya que incluyen información valiosa sobre los detalles del lenguaje, su compatibilidad, etc.

Diff for: 1-js/02-first-steps/05-types/article.md

+13-2
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,20 @@ Veremos más sobre el trabajo con números en el capítulo <info:number>.
6868

6969
## BigInt [#bigint-type]
7070

71-
En JavaScript, el tipo "number" no puede representar valores enteros mayores que <code>(2<sup>53</sup>-1)</code> (eso es `9007199254740991`), o menor que <code>-(2<sup>53</sup>-1)</code> para negativos. Es una limitación técnica causada por su representación interna.
71+
En JavaScript, el tipo "number" no puede representar de forma segura valores enteros mayores que <code>(2<sup>53</sup>-1)</code> (eso es `9007199254740991`), o menor que <code>-(2<sup>53</sup>-1)</code> para negativos.
7272

73-
Para la mayoría de los propósitos es suficiente, pero a veces necesitamos números realmente grandes. Por ejemplo, para criptografía o marcas de tiempo de precisión de microsegundos.
73+
Para ser realmente precisos, el tipo de dato "number" puede almacenar enteros muy grandes (hasta <code>1.7976931348623157 * 10<sup>308</sup></code>), pero fuera del rango de enteros seguros <code>±(2<sup>53</sup>-1)</code> habrá un error de precisión, porque no todos los dígitos caben en el almacén fijo de 64-bit. Así que es posible que se almacene un valor "aproximado".
74+
75+
Por ejemplo, estos dos números (justo por encima del rango seguro) son iguales:
76+
77+
```js
78+
console.log(9007199254740991 + 1); // 9007199254740992
79+
console.log(9007199254740991 + 2); // 9007199254740992
80+
```
81+
82+
Podemos decir que ningún entero impar mayor que <code>(2<sup>53</sup>-1)</code> puede almacenarse en el tipo de dato "number".
83+
84+
Para la mayoría de los propósitos, el rango <code>±(2<sup>53</sup>-1)</code> es suficiente, pero a veces necesitamos números realmente grandes; por ejemplo, para criptografía o marcas de tiempo de precisión de microsegundos.
7485

7586
`BigInt` se agregó recientemente al lenguaje para representar enteros de longitud arbitraria.
7687

Diff for: 1-js/04-object-basics/08-symbol/article.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,8 @@ let user = {
167167
for (let key in user) alert(key); // nombre, edad (no aparecen symbols)
168168
*/!*
169169

170-
// el acceso directo a la clave de symbol funciona
171-
alert( "Direct: " + user[id] );
170+
// el acceso directo por medio de symbol funciona
171+
alert( "Direct: " + user[id] ); // Direct: 123
172172
```
173173

174174
[Object.keys(user)](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Object/keys) también los ignora. Esto forma parte del principio general de "ocultamiento de propiedades simbólicas". Si otro script o si otra librería itera sobre nuestro objeto, este no accesará inesperadamente a la clave de Symbol.

Diff for: 1-js/05-data-types/02-number/article.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
En JavaScript moderno, hay dos tipos de números:
44

5-
1. Los números regulares en JavaScript son almacenados con el formato de 64-bit [IEEE-754](https://es.wikipedia.org/wiki/IEEE_coma_flotante), conocido como "números de doble precisión de coma flotante". Estos números son los que estaremos usando la mayor parte del tiempo y hablaremos de ellos en este capítulo.
5+
1. Los números regulares en JavaScript son almacenados con el formato de 64-bit [IEEE-754](https://es.wikipedia.org/wiki/IEEE_754), conocido como "números de doble precisión de coma flotante". Estos números son los que estaremos usando la mayor parte del tiempo, y hablaremos de ellos en este capítulo.
66

7-
2. Los números BigInt representan enteros de longitud arbitraria. A veces son necesarios porque un número regular no puede exceder <code>2<sup>53</sup></code> ni ser menor a <code>-2<sup>53</sup></code> manteniendo la precisión. Como los bigints son usados en algunas áreas especiales, les dedicamos un capítulo especial <info:bigint>.
7+
2. Los números BigInt representan enteros de longitud arbitraria. A veces son necesarios porque un número regular no puede exceder <code>2<sup>53</sup></code> ni ser menor a <code>-2<sup>53</sup></code> manteniendo la precisión, algo que mencionamos antes en el capítulo <info:types>. Como los bigints son usados en algunas áreas especiales, les dedicamos un capítulo especial <info:bigint>.
88

99
Aquí hablaremos de números regulares. Ampliemos lo que ya sabemos de ellos.
1010

@@ -192,7 +192,7 @@ Hay dos formas de hacerlo:
192192

193193
## Cálculo impreciso
194194

195-
Internamente, un número es representado en formato de 64-bit [IEEE-754](http://en.wikipedia.org/wiki/IEEE_754-1985), donde hay exactamente 64 bits para almacenar un número: 52 de ellos son usados para almacenar los dígitos, 11 para almacenar la posición del punto decimal (son cero para los enteros), y 1 bit es para el signo.
195+
Internamente, un número es representado en formato de 64-bit [IEEE-754](https://es.wikipedia.org/wiki/IEEE_754), donde hay exactamente 64 bits para almacenar un número: 52 de ellos son usados para almacenar los dígitos, 11 para almacenar la posición del punto decimal, y 1 bit es para el signo.
196196

197197
Si un número es verdaderamente grande, puede rebasar el almacén de 64 bit y obtenerse el valor numérico `Infinity`:
198198

Diff for: 1-js/08-prototypes/03-native-prototypes/proto-constructor-animal-rabbit.svg

-1
This file was deleted.

0 commit comments

Comments
 (0)