JAvascript
tipos y valores
© Juan Quemada, DIT, UPM
Sunday, February 23, 14
1
JavaScript
JavaScript
n Diseñado por Netscape en 1995 para ejecutar en un Navegador
w Hoy se ha convertido en el lenguaje del Web y Internet
Norma ECMA (European Computer Manufacturers Association)
n Versión soportada en navegadores actuales:
w ES5: ECMAScript v5, Dic. 2009,(JavaScript 1.5)
n
Navegadores antiguos soportan
w ES3: ECMAScript v3, Dic. 1999, (JavaScript 1.3)
Tutorial:
http://www.w3schools.com/js/
Referencia: http://www.w3schools.com/jsref/
Libro: “JavaScript Pocket Reference”, D. Flanagan, O´Reilly 2012, 3rd Ed.
© Juan Quemada, DIT, UPM
Sunday, February 23, 14
2
Tipos, objetos y valores
Tipos de JavaScript
n number
w Literalesde números:
n
32, 1000, 3.8
boolean
w Los literales son los valores
n
true y false
string
w Los literales de string son caracteres delimitados entre comillas o apóstrofes
"Hola, que tal", 'Hola, que tal',
w Internacionalizción con Unicode: 'Γεια σου, ίσως', '嘿,也许'
n
n
undefined
w undefined: representa indefinido
Objetos: agregaciones de valoresestructurados
n Se agrupan en clases: Object, Array, Date, ...
w Objeto null: valor especial que representa objeto nulo
© Juan Quemada, DIT, UPM
Sunday, February 23, 14
n1
v1
n2
v2
3
nn
..
vn
Operadores y expresiones
JavaScript incluye operadores de tipos y objetos
n Los operadores permiten formar expresiones
w Componiendo valores con los operadores
n
Que Javascriptevalua hasta obtener un resultado
Por ejemplo, con las operaciones aritmeticas +, -, *, /
n podemos formar expresiones númericas
13 + 7
13 - 7
=>
=>
20
6
(8*2 - 4)/3
=>
4
// Suma de números
// Resta de números
// Expresión compleja
// Incluyendo paréntesis
© Juan Quemada, DIT, UPM
Sunday, February 23, 14
4
Sobrecarga de operadores
Algunos operadores tienenvarias semánticas diferentes
Por ejemplo, el operador + tiene 3 semánticas diferentes
n Suma de enteros (operador binario)
n Signo de un número (operador unitario)
n Concatenación de strings (operador binario)
13 + 7
+13
=>
20
// Suma de números
=>
13
// Signo de un número
"Hola " + "Pepe" => "Hola Pepe" // Concatenación de strings
© Juan Quemada, DIT, UPM
Sunday,February 23, 14
5
Conversión de tipos en expresiones
13 + 7
JavaScript realiza conversión automatica de tipos
n cuando hay ambiguedad en una expresión
w utiliza las prioridades para resolver la ambiguedad
La expresión "13" + 7 es ambigua
n porque combina un string con un number
=> 20
"13" + "7"
=> "137"
"13" + 7
=> "137"
+"13" + 7
=> 20
w JavaScript asignamas prioridad al operador + de strings, convirtiendo 7 a string
La expresión +"13" también necesita conversión automática de tipos
n El operador + solo esta definido para number
w JavaScript debe convertir el string "13" a number antes de aplicar operador +
© Juan Quemada, DIT, UPM
Sunday, February 23, 14
6
Los operadores están ordenados con prioridad descendente. Mas altos másprioridad.
. []
new
()
++ -! ~
+ delete
typeof void
* / %
+
+ > >>>
< >=
instanceof in
== != === !==
&
^
|
&&
||
?:
=
OP=
,
Sunday, February 23, 14
Acceso a propiedad o invocar método; índice a array
Crear objeto con constructor de clase
Invocación de función/método o agrupar expresión
Pre o post auto-incremento; pre o post auto-decremento
Negación lógica (NOT);complemento de bits
Operador unitario, números. signo positivo;
signo negativo
Borrar propiedad de un objeto
Devolver tipo; valor indefinido
Números.
Multiplicación;
división; modulo (o resto)
Concatenación de string
Números. Suma; resta
Desplazamientos de bit
Menor; menor o igual; mayor; mayor o igual
¿objeto pertenece a clase?; ¿propiedad pertenece a objeto?
Igualdad; desigualdad;...
Regístrate para leer el documento completo.