Skip to content

Commit ae5c7b1

Browse files
committed
Termine de hacer la primera review del capitulo
1 parent 9c656de commit ae5c7b1

File tree

1 file changed

+50
-52
lines changed

1 file changed

+50
-52
lines changed

01_valores.md

Lines changed: 50 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ posición. El ejemplo anterior produce "_la mitad de 100 es 50_".
359359

360360
No todo los operadores son simbolos. Algunos se escriben como palabras.
361361
Un ejemplo es el operador `typeof`, que produce un string con el nombre
362-
del tipo de valor que le mandemos.
362+
del tipo de valor que le demos.
363363

364364
```
365365
console.log(typeof 4.5)
@@ -373,16 +373,16 @@ console.log(typeof "x")
373373
{{id "console.log"}}
374374

375375
Usaremos `console.log` en los ejemplos de código para indicar que
376-
lo que queremos es ver es el resultado de alguna evaluación.
377-
Expandiremos en esto en el [proximo capitulo](program_structure).
376+
que queremos ver el resultado de alguna evaluación.
377+
Mas acerca de esto esto en el [proximo capitulo](estructura_de_programa).
378378

379379
{{index negation, "- operator", "binary operator", "unary operator"}}
380380

381-
Los operadores que hemos visto hasta ahora todos operaban en does valores,
381+
En los otros operadores que hemos visto hasta ahora, todos operaban en dos valores,
382382
pero `typeof` sola opera con un valor. Los operadores que usan dos valores
383-
son llamados _binarios_, mientras que aquellos operadores que usan uno son
384-
llamados _unarios_. El operador menos puede ser usado como operador binario
385-
o como operador unario.
383+
son llamados operadores _binarios_, mientras que aquellos operadores que usan uno son
384+
llamados operadores _unarios_. El operador menos puede ser usado tanto
385+
como un operador binario o como un operador unario.
386386

387387
```
388388
console.log(- (10 - 2))
@@ -393,9 +393,9 @@ console.log(- (10 - 2))
393393

394394
{{index Boolean, operator, true, false, bit}}
395395

396-
Es frecuentemente util tener un valor que se distingue entre solo dos
396+
Es frecuentemente util tener un valor que distingue entre solo dos
397397
posibilidades, como "si", y "no", o "encendido" y "apagado". Para este
398-
propósito, JavaScript tiene el tipo _Boolean_, que tiene dos valores:
398+
propósito, JavaScript tiene el tipo _Boolean_, que tiene solo dos valores:
399399
verdadero (`true`) y falso (`false`) que se escriben de la misma forma.
400400

401401
### Compraración
@@ -429,18 +429,18 @@ console.log("Aardvark" < "Zoroaster")
429429

430430
La forma en la que los strings son ordenados, es aproximadamente alfabético,
431431
aunque no realmente de la misma forma que esperaríamos ver en un diccionario:
432-
letras mayúsculas son siempre "menores que" letras minúsculas, así que `"Z" < "a"`,
433-
y caracteres no alfabéticos como `!`, `-`, y demás, son también incluidos en el
432+
las letras mayúsculas son siempre "menores que" las letras minúsculas, así que `"Z" < "a"`,
433+
y caracteres no alfabéticos (como `!`, `-` y demás) son también incluidos en el
434434
ordenamiento. Cuando comparamos strings, JavaScript evalúa los caracteres
435435
de izquierda a derecha, comparando los códigos ((Unicode)) uno por uno.
436436

437437
{{index equality, ">= operator", "<= operator", "== operator", "!= operator"}}
438438

439-
Otros operadores similares son `>=` (mayor o igual que), `<=` (menor y igual que),
439+
Otros operadores similares son `>=` (mayor o igual que), `<=` (menor o igual que),
440440
`==` (igual a), y `!=` (no igual a).
441441

442442
```
443-
console.log("Irritante" != "Arañoso")
443+
console.log("Itchy" != "Scratchy")
444444
// → true
445445
console.log("Manzana" == "Naranja")
446446
// → false
@@ -449,16 +449,14 @@ console.log("Manzana" == "Naranja")
449449
{{index [comparison, "of NaN"], NaN}}
450450

451451
Solo hay un valor en JavaScript que no es igual a si mismo, y este es
452-
`NaN` ("no es numero").
453-
There is only one value in JavaScript that is not equal to itself, and
454-
that is `NaN` ("not a number").
452+
`NaN` ("no es un numero").
455453

456454
```
457455
console.log(NaN == NaN)
458456
// → false
459457
```
460458

461-
`NaN` esta supuesto a denotar el resultado de una computación sin sentido,
459+
Se supone que `NaN` denota el resultado de una computación sin sentido,
462460
y como tal, no es igual al resultado de ninguna _otra_ computación sin sentido.
463461

464462
### Operadores lógicos
@@ -467,7 +465,7 @@ y como tal, no es igual al resultado de ninguna _otra_ computación sin sentido.
467465

468466
También existen algunas operaciones que pueden ser aplicadas a valores
469467
Boolean. JavaScript soporta tres operadores lógicos: _and_, _or_, y _not_.
470-
Estos pueden ser usados para "razonar" valores Boolean.
468+
Estos pueden ser usados para "razonar" acerca de valores Boolean.
471469

472470
{{index "&& operator", "logical and"}}
473471

@@ -497,19 +495,19 @@ console.log(false || false)
497495
{{index negation, "! operator"}}
498496

499497
_Not_ se escribe como un signo de exclamación (`!`). Es un operador
500-
unario que voltea el valor dado-`!true` produce `false` y `!false`
498+
unario que voltea el valor dado`!true` produce `false` y `!false`
501499
produce `true`.
502500

503501
{{index precedence}}
504502

505-
Cuando estos operadores Boolean son mezclados con otro tipo de
506-
operadores, no es siempre obvio cuando son necesarios los paréntesis.
507-
En la práctica, puedes usualmente manejarte bien sabiendo que de
508-
los operadores que hemos visto hasta ahora, `||` tiene menor precedencia,
503+
Cuando estos operadores Boolean son mezclados con otros tipos de
504+
operadores, no siempre es obvio cuando son necesarios los paréntesis.
505+
En la práctica, usualmente puedes manejarte bien sabiendo que de
506+
los operadores que hemos visto hasta ahora, `||` tiene la menor precedencia,
509507
luego le sigue `&&`, luego le siguen los operadores de comparación
510508
(`>`, `==`, y demás), y luego el resto. Este orden ha sido determinado para
511-
que en expresiones como la siguiente, la menos cantidad de paréntesis es
512-
requerida:
509+
que en expresiones como la siguiente, la menor cantidad de paréntesis posible sea
510+
necesaria:
513511

514512
```
515513
1 + 1 == 2 && 10 * 10 > 50
@@ -518,7 +516,7 @@ requerida:
518516
{{index "conditional execution", "ternary operator", "?: operator", "conditional operator", "colon character", "question mark"}}
519517

520518
El ultimo operador lógico que discutiremos no es unario, tampoco binario,
521-
pero ternario, esto es, que opera en tres valores. Es escrito con un
519+
sino _ternario_, esto es, que opera en tres valores. Es escrito con un
522520
signo de interrogación y dos puntos, de esta forma:
523521

524522
```
@@ -538,15 +536,15 @@ falso, el valor de la derecha.
538536

539537
{{index undefined, null}}
540538

541-
Existen dos valores especiales, escritos `null` y `undefined`, que son
542-
usados para denotar la ausencia de un valor _significativo_. Son en si mismo
539+
Existen dos valores especiales, escritos como `null` y `undefined`, que son
540+
usados para denotar la ausencia de un valor _significativo_. Son en si mismos
543541
valores, pero no traen consigo información.
544542

545-
Muchos de los operadores en el lenguaje que no producen un valor significativo
546-
(veremos algunos mas adelante), producen `undefined` simplemente porque tienen
543+
Muchas operaciones en el lenguaje que no producen un valor significativo
544+
(veremos algunas mas adelante), producen `undefined` simplemente porque tienen
547545
que producir _algún_ valor.
548546

549-
La diferencia en significado entre `undefined`y `null`es un accidente del
547+
La diferencia en significado entre `undefined` y `null` es un accidente del
550548
diseño de JavaScript, y realmente no importa la mayor parte del tiempo.
551549
En los casos donde realmente tendríamos que preocuparnos por estos valores,
552550
mayormente recomiendo tratarlos como intercambiables.
@@ -555,9 +553,9 @@ mayormente recomiendo tratarlos como intercambiables.
555553

556554
{{index NaN, "type coercion"}}
557555

558-
En la introducción, he mencionado que JavaScript trata mucho de aceptar
559-
casi cualquier programa que le demos, aún programas que hacen cosas
560-
extrañas. Esto es bien demostrado por la proxima expresión:
556+
En la Introducción, mencione que JavaScript tiende a salirse de su camino para
557+
aceptar casi cualquier programa que le demos, incluso programas que hacen cosas
558+
extrañas. Esto es bien demostrado por las siguientes expresiones:
561559

562560
```
563561
console.log(8 * null)
@@ -574,19 +572,18 @@ console.log(false == 0)
574572

575573
{{index "+ operator", arithmetic, "* operator", "- operator"}}
576574

577-
Cuando un operador es aplicado el tipo de valor "incorrecto", JvasScript
575+
Cuando un operador es aplicado el tipo de valor "incorrecto", JavaScript
578576
calladamente convertirá ese valor al tipo que necesita, utilizando una
579-
seria de reglas que frecuentemente no dan el resultado que quisieras
577+
serie de reglas que frecuentemente no dan el resultado que quisieras
580578
o esperarías. Esto es llamado _((coercion de tipo))_. El `null`
581579
en la primera expresión se torna `0`, y el `"5"`en la segunda expresión
582580
se torna `5` (de string a numero). Sin embargo, en la tercera expresión,
583-
`+` trata concatenación de string antes de adición numérica, entonces
584-
el `1` es convertido a `"1"` (de numero a string)
581+
`+` intenta realizar una concatenación de string antes que una adición numérica,
582+
entonces el `1` es convertido a `"1"` (de numero a string)
585583

586584
{{index "type coercion", [number, "conversion to"]}}
587585

588-
589-
Cuando algo que no se traduce a un numero de manera obvia (tal como
586+
Cuando algo que no se traduce a un numero en una manera obvia (tal como
590587
`"cinco"` o `undefined`) es convertido a un numero, obtenemos el valor
591588
`NaN`. Operaciones aritméticas subsecuentes con `NaN`, continúan
592589
produciendo `NaN`, asi que si te encuentras obteniendo uno de estos en
@@ -598,7 +595,7 @@ Cuando se utiliza `==` para comparar valores del mismo tipo, el desenlace
598595
es fácil de predecir: debemos de obtener verdadero cuando ambos valores
599596
son lo mismo, excepto en el caso de `NaN`. Pero cuando los tipos difieren,
600597
JavaScript utiliza una serie de reglas complicadas y confusas para determinar
601-
que hacer. En el mayor de los casos, solo trata de convertir uno de estos valores
598+
que hacer. En la mayoria de los casos, solo tratara de convertir uno de estos valores
602599
al tipo del otro valor. Sin embargo, cuando `null` o `undefined` ocurren en
603600
cualquiera de los extremos del operador, produce verdadero solo si el otro lado
604601
es o `null` o `undefined`.
@@ -616,7 +613,7 @@ compararlos con `null` usando el operador `==` (o `!=`).
616613

617614
{{index "type coercion", [Boolean, "conversion to"], "=== operator", "!== operator", comparison}}
618615

619-
Pero que pasa si queremos probar algo que se refiere precisamente
616+
Pero que pasa si queremos probar que algo se refiere precisamente
620617
al valor `false`? Las reglas para convertir strings y números a valores
621618
Boolean, dice que `0`, `NaN`, y el string vació (`""`) cuentan como `false`,
622619
mientras que todos los otros valores cuentan como `true`. Debido a esto,
@@ -636,7 +633,7 @@ utilizar los operadores cortos.
636633
{{index "type coercion", [Boolean, "conversion to"], operator}}
637634

638635
Los operadores lógicos `&&` y `||`, manejan valores de diferentes tipos
639-
de una forma peculiar. No convertirán el valor en su lado izquierdo a un
636+
de una forma peculiar. Ellos convertirán el valor en su lado izquierdo a un
640637
tipo Boolean para decidir que hacer, pero dependiendo del operador y el
641638
resultado de la conversión, devolverán o el valor _original_ de la izquierda
642639
o el valor de la derecha.
@@ -671,8 +668,8 @@ ese valor, y de lo contrario, devuelve el valor a su derecha.
671668

672669
Otra propiedad importante de estos dos operadores es que la parte
673670
de su derecha solo es evaluada si es necesario. En el caso de
674-
de `true || X`, no importa que sea `X`, aun si es un programa
675-
que hace algo _terrible_-el resultado será verdadero, y `X` nunca
671+
de `true || X`, no importa que sea `X`aun si es una pieza del programa
672+
que hace algo _terrible_el resultado será verdadero, y `X` nunca
676673
es evaluado. Lo mismo sucede con `false && X`, que es falso e ignorará
677674
`X`. Esto es llamado _((evaluación de corto circuito))_.
678675

@@ -684,17 +681,18 @@ tercer valor, solo el que es seleccionado es evaluado.
684681
## Resumen
685682

686683
Observamos cuatro tipos de valores JavaScript en este capítulo: números,
687-
textos (`strings`), Booleans, y valores indefinidos (`undefined`)
684+
textos (`strings`), Booleans, y valores indefinidos.
688685

689686
Tales valores son creados escribiendo su nombre (`true`, `null`)
690687
o valor (`13`, `"abc"`). Puedes combinar y transformar valores con
691688
operadores. Vimos operadores binarios para aritmética (`+`, `-`, `*`, `/`,
692-
y `%`), y lógica (`&&`, `||`), así también como varios otros operadores
693-
unarios (`-` para negar un numero, `!` para negar lógica, y `typeof`
694-
para encontrar el valor de un tipo) y un operador ternario (`?:`) para
695-
elegir uno de dos valores basándose en un tercer valor.
689+
y `%`), concatenación de strings (`+`), comparaciones (`==`, `!=`, `===`,
690+
`!==`, `<`, `>`, `<=`, `>=`), y lógica (`&&`, `||`), así también como
691+
varios otros operadores unarios (`-` para negar un numero, `!` para negar
692+
lógicamente, y `typeof` para encontrar el valor de un tipo) y un operador
693+
ternario (`?:`) para elegir uno de dos valores basándose en un tercer valor.
696694

697695
Esto te dá la información suficiente para usar JavaScript como una
698696
calculadora de bolsillo, pero no para mucho más. El [próximo
699-
capitulo](estructura_de_programa) empezará amarrando estas expresiones
700-
juntas para formar programas básicos.
697+
capitulo](estructura_de_programa) empezará a juntar estas expresiones
698+
para formar programas básicos.

0 commit comments

Comments
 (0)