MEDIAactive

Aprender Javascript Avanzado con 100 ejercicios prácticos


Скачать книгу

Si estos constructores se utilizan como funciones, la conversión de los valores se lleva a cabo en sus correspondientes tipos de primitivos. Img_p2

Img_p030-01

      3. Aunque los expertos recomiendan este método de conversión, lo cierto es que entre los programadores de JavaScript se tiende a evitar los objetos envolventes. ¿Por qué? Porque la conversión no es un proceso necesario, puesto que casi todo cuanto pueden hacer los objetos también pueden hacerlo los primitivos.

      4. Los objetos envolventes son distintos a los datos primitivos. Si tenemos en cuenta que las instancias envolventes son objetos,podemos deducir que no existe ningún modo de comparar objetos en JavaScript, ni mediante operadores de igualdad como ==. Img_p3

Img_p030-02

      5. Si lo que necesita es añadir propiedades a un valor primitivo, será preciso envolver la primitiva y añadir la propiedad al objeto envolvente. Con este proceso lo que estamos haciendo es desenvolver el valor para poder trabajar con él. Vea un ejemplo de este proceso en las siguientes líneas: Img_p4

      new Boolean (true)

      new Number(258)

      new String(‘caso1’)

      6. Así los valores primitivos han sido envueltos con el correspondiente constructor (Boolean, Number y String). Para desenvolverlos, se utiliza el método valueOf() , el cual está presente en todos los objetos: Img_p5

      new Boolean (true).valueOf()

      true

      new Number(258).valueOf()

      258

      new String(‘caso1’).valueOf()

      ‘caso1’

Img_p031

      Recuerde que todo cuanto escribimos tras la doble barra // no es interpretado por el navegador web.

      7. Tal y como veremos con detalle en un ejercicio anterior, la conversión de objetos envolventes en primitivas genera números y texto (o cadenas de caracteres), pero no datos booleanos.

      8. Por último, cabe destacar que los datos primitivos adquieren sus métodos de los correspondientes objetos envolventes.

      010 Operadores de asignación

      IMPORTANTE

      El resultado de las operaciones es aquello que permite a un programa modificar su manera de comportarse según los datos que tenga para trabajar. Las operaciones pueden ser máso menos sencillas y pueden realizarse con distintos tipos de operandos.

      LOS OPERADORES SIRVEN PARA REALIZAR LOS cálculos y las operaciones definidos en un script. Todos los operadores convierten sus operandos en los tipos correspondientes, aunque hay que advertir que la mayoría de los operadores sólo funcionan con valores primitivos, lo que implica que los objetos se convierten en primitivos antes de ser manipulados.

      1. En este ejercicio conocerá cuáles son los operadores de asignación, cómo y para qué se utilizan. Como presentación, dire-mos que los operadores de asignación son los que se utilizan para asignar valores a las variables. Img_p1 El operador de asignación más utilizado es =. A la derecha de este operador se escriben los valores finales, mientras que a su izquierda se inserta el nombre de la variable en la cual se almacenará el dato. Veamos un ejemplo básico:

      var caso1 = 100;

Img_p032-00

      2. Podemos definir una asignación como una expresión que evalúa un valor asignado. Esta definición permite en JavaS-cript encadenar asignaciones. Img_p2 Un ejemplo de ello sería lo siguiente:

      caso1 = caso2 = 100;

Img_p032-02

      El operador = se denomina operador de asignación simple.

      3. Esta sentencia permite asignar el valor 100 tanto al valor caso1 como al valor caso2. Aunque el valor = es el más utilizado en-tre los operadores de asignación, es preciso saber que existen otros; de hecho, se trata de combinaciones entre el operador = y otros operadores matemáticos. Algunas de estas combinaciones entre operadores de asignación son +=, -=, *= y /= . Todos ellos realizan la operación que indica el operador mate-mático entre el valor de la izquierda y el de la derecha y ubica el resultado en la parte izquierda de la sentencia. Veamos unos ejemplos de cada uno de ellos sobre un único caso: Img_p3

      caso1 = 103;

      caso1 += 300;

      caso1 -= 200;

      caso1 *= 3;

      caso1 /=2;

Img_p033-00

      Este tipo de operadores de asignación se denominan compuestos.

      4. Cada uno de los operadores se basa en el valor de la variable caso1 y va realizando la operación que indica el operador con el valor de la derecha; el resultado se sitúa en la parte izquierda de la sentencia siguiente. Existe otro operador de asignación combinado con el operador básico =; se trata del operador %= el cual permite calcular el resto de una operación y se asigna como resultado de la variable.

      5. Además de asignar valores a variables, los operadores de asignación también pueden asignarse a propiedades, eventos o accesos a indizadores.

      6. Los operadores de asignación son asociativos por la derecha. ¿Qué significa esto? Sencillamente, que las operaciones se agrupan de derecha a izquierda. Por ejemplo, una expresión de la forma caso1 = caso2 = caso3 se evalúa como caso1 = (caso2 = caso3). Img_p4

Img_p033-01

      011 Operadores de igualdad

      JAVASCRIPT DISPONE DE DOS TIPOS DE operadores para deter-minar la igualdad entre valores. Los operadores denominados de igualdad y de desigualdad estricta (=== y !==) y los denominados de igualdad y de desigualdad normal (== y !=). Por las razones que se verán en este ejercicio, los expertos recomiendan utilizar los operadores estrictos y evitar, en la medida de lo posible, los normales.

      1. En este ejercicio trataremos de describir y comprobar cómo se utilizan los distintos operadores de igualdad existentes en JavaScript. Empezaremos por los operadores estrictos, tanto de igualdad como de desigualdad.

      2. El operador de igualdad estricta se representa con los signos === (3 signos de igualdad) y el de desigualdad estricta con la combinación de signos !== (1 signo de exclamación cerrado y 2 signos de igualdad).

      3. Estos operadores consideran sólo aquellos valores que son del mismo tipo para ser iguales. Los valores de diferentes tipos no son nunca estrictamente iguales. Si los dos valores escritos en la sentencia son del mismo tipo, entonces el resultado es