Como Se Dijo en El Anterior Capítulo
Como Se Dijo en El Anterior Capítulo
Como Se Dijo en El Anterior Capítulo
Dado que las propiedades son análogas a las variables, se hace una breve
introducción a las variables en JavaScript.
Variables
En programación, los nombres que se asignan a los diferentes elementos
del programa tienen el denominativo general de identificadores. Los nombres
de las variables y constantes son también identificadores y, en consecuencia,
deben seguir las reglas generales para nombrar identificadores (la sintaxis).
Una variable puede ser sólo creada (declarada) sin asignarle ningún valor o
puede ser creada y se le puede asignar un valor al mismo tiempo (variable
iniciada).
Por ejemplo, para crear las variables "a", "b", "c", "d" y "e" sin asignarles
ningún valor, se escribe:
var a;
var b;
var c, d, e;
print(a, b, c, d, e)
undefined undefined undefined undefined undefined
Observe que, al igual que en C/C++, las variables pueden ser declaradas
una por una (como ocurre con las variables a y b), o dos o más al mismo
tiempo, separándolas con comas (como ocurre con las variables c, d y e).
b
undefined
print(a);
print(b);
print(c);
d
undefined
undefined
undefined
undefined
El equivalente aproximado a print, en las consolas de los navegadores y
otras herramientas de desarrollo, es console.log.
Para declarar una variable se emplean las palabras reservadas var y let.
Las variables pueden ser creadas con las palabras reservadas "int",
"float" y "double".
100 8
Nota: Puntos: Repetir
Por ejemplo, con las siguientes instrucciones se crean las variables "x", "y" y
"z" con los valores 4, 5 y 7.213×106:
var x = 4;
var y = 5;
var z = 7.213e6
print(typeof x);
print(typeof y);
print(typeof z)
number
number
number
print(x, y, z)
4 5 7213000
Con las variables se pueden llevar a cabo las mismas operaciones que con
los tipos de datos que guardan, así, como en este ejemplo son datos
numéricos, se pueden realizar todas las operaciones estudiadas en el anterior
capítulo, por ejemplo, calcular la hipotenusa de los números guardados en "x"
y "y":
Math.sqrt(x**2+y**2)
6.4031242374328485
Valor que puede ser calculado, también, con el método estático, hypot:
Math.hypot(x, y)
6.4031242374328485
Cree las variables "v1", "v2" y "v3", con los números 12, 15 y 20 y
muéstrelas (con "print").
var v1 = 12;
var v2 = 15;
var v3 = 20
print (v1,v2,v3)
12 15 20
100 3
Nota: Puntos: Repetir
Cree las variables "x1", "x2" y "x3", con los números 12.34, 143 y 200.53,
muestre su valor (con "print") y muestre el tipo de dato de cada una de
ellas (también con "print").
var x1 = 12.34;
var x2 = 143;
var x3 = 200.53;
print (x1,x2,x3);
print (typeof x1);
print (typeof x2);
print (typeof x3);
12.34 143 200.53
number
number
number
100 5
Nota: Puntos: Repetir
Cree las variables "x1", "x2" y "x3", con los números 3, 7 y 11 y calcule el
logaritmo natural de su suma.
var x1 = 3;
var x2 = 7;
var x3 = 11;
Math.log(x1+x2+x3)
3.044522437723423
100 4
Nota: Puntos: Repetir
Cree las variables "y1", "y2", "y3" y "y4", con los números 2.1, 6.3, 8.5 y
10.2, y calcule el coseno hiperbólico de �1+�2�3+�4y3+y4y1+y2.
var y1 = 2.1;
var y2 = 6.3;
var y3 = 8.5;
var y4 = 10.2;
Math.cosh((y1+y2)/(y3+y4))
1.1025972543588336
100 5
Nota: Puntos: Repetir
Como han recibido datos de tipo cadena, las variables "s1" y "s2" son de
tipo string (cadena):
Que es más corta y hace exactamente lo mismo, pero que para los seres
humanos es más difícil de leer y comprender.
Como se dijo, las variables pueden ser declaradas también con let y const,
que se emplean exactamente igual que var, pero son formas más estrictas y
por esa razón se emplean, casi exclusivamente, al interior de las funciones
(métodos) y módulos. Ni let ni const permiten crear una variable con el mismo
nombre de una variable creada previamente (algo que si permite var), por lo
que resultan más convenientes al momento de escribir funciones, mientras
que var es más conveniente cuando se crean variables en la calculadora.
Con las cadenas se puede emplear el operador de suma (+) que, en el caso
de las cadenas, concatena (une) dos o más cadenas, como se puede ver en
los siguientes ejemplos:
s1+s2
"Programación en JavaScript"
var s3 = 'Juan Carlos',
s4 = 'Romero Céspedes';
s3+' '+ s4
"Juan Carlos Romero Céspedes"
var s5 = `La raíz cuadrada de 2 es: ${Math.sqrt(2)}`; s5
"La raíz cuadrada de 2 es: 1.4142135623730951"
alert("mensaje")
Su sintaxis es la siguiente:
El valor que devuelve esta función es siempre de tipo texto (String), por lo
que para transformarla en número (u otro tipo de dato) se debe emplear alguna
de las funciones (u operadores) disponibles en el lenguaje. Por ejemplo, para
convertir el texto escrito por el usuario en un número, se pueden emplear las
funciones: parseFloat, parseInt y eval. Además, la mayoría de las funciones y
operadores matemáticos, convierten automáticamente el texto a número
cuando así se requiere.
typeof valor
"undefined"
Empleando comillas cree las variables "s1" y "s2", con los textos:
"Programación", "Orientada a Objetos", luego concatene s1 y s2,
añadiendo un espacio al medio.
var s1 = "Programación";
var s2 = "Orientada a Objetos";
s1+' '+s2
"Programación Orientada a Objetos"
100 4
Nota: Puntos: Repetir
Empleando una plantilla literal, escriba una instrucción que muestre el texto
"El coseno de 6.78 radianes es: ", seguido del valor correspondiente al
coseno de 6.78 radianes.
var valor = `El coseno de 6.78 radianes es: ${Math.cos(6.78)}`;valor
"El coseno de 6.78 radianes es: 0.879105224865808"
100 4
Nota: Puntos: Repetir
Ejecutando las instrucciones del anterior inciso para un número igual a 15,
el resultado obtenido es: 3269017.3724721107.
100 7
Nota: Puntos: Repetir
Escriba las instrucciones para pedir un número (el radio "r"), en un prompt,
con el mensaje: "Escriba un número válido", calcule con el mismo el
perímetro de un círculo (2*π*r) y muestre el resultado en un alert, con el
formato (plantilla literal): "El perímetro de un círculo de radio (número) es:
(resultado)", donde (número) es el número introducido por el usuario y
(resultado) es el resultado calculado.
var número = prompt("Escriba un número válido");
var resultado = 2*Math.PI*(número);
alert(`El perímetro de un círculo de radio ${número} es:${resultado}`)
100 7
Nota: Puntos: Repetir
var b1 = true;
var b2 = false;
var b3 = 34>20;
var b4 = 7==6;
print(b1, b2, b3, b4);
print(typeof b1, typeof b2, typeof b3, typeof b4);
true false true false
boolean boolean boolean boolean
Finalmente, otro tipo de dato de uso frecuente son los arreglos (matrices),
más conocidos como arrays (por su denominación en inglés). En JavaScript,
los arreglos se declaran simplemente escribiendo sus elementos entre
corchetes (separados con comas):
En estos ejemplos se han creado dos arreglos "v1" y "v2", el primero con 5
números y el segundo con 5 letras, sin embargo, como se puede ver, al
imprimir su tipo se obtiene object, no como se esperaría array. Esto se debe a
que los arreglos son objetos de una clase: de la clase Array (no se trata de un
tipo primitivo como number). En esos casos, para obtener el tipo de dato, se
debe acceder el nombre (name) del objeto constructor:
print(v1.constructor.name, v2.constructor.name)
Array Array
Math.cbrt(v1[0]+v1[2]+v1[4])
2.080083823051904
Cree cuatro variables booleanas con los valores falso (false), la negación (!)
de verdadero (true), el resultado de 25 mayor o igual a 25 y el resultado
de 50 menor o igual a 50, imprima (con print) sus valores e imprima (con
print) sus tipos.
var b1 = false;
var b2 = !true;
var b3 = 25>=25;
var b4 = 50<=50;
print(b1,b2,b3,b4);
print(typeof b1,typeof b2,typeof b3,typeof b4);
false false true true
boolean boolean boolean boolean
100 6
Nota: Puntos: Repetir
Cree una variable Array con los elementos: 2, 8, 12, 17, 23, 35 y calcule y
muestre (con print) la suma del primer y sexto elementos, calcule (y
muestre con print) la hipotenusa (hypot) del segundo y quinto elementos y
calcule (y muestre con print) el exponente del la suma del tercer y cuarto
elementos.
var v1 = [2,8,12,17,23,35];
print (v1);
print (typeof v1);
print (v1.constructor.name);
print (v1[0]+v1[5]);
print (Math.hypot(v1[1],v1[4]));
print (Math.exp(v1[2]+v1[3]))
[2, 8, 12, 17, 23, 35]
object
Array
37
24.351591323771842
3931334297144.042
100 8
Nota: Puntos: Repetir
Clases y Objetos
Para comprender los tipos de propiedades y métodos es necesario
comprender la diferencia que existe, en la programación orientada a objetos
(POO), entre una clase y un objeto.
Number.isInteger(34.56)
false
Number.isInteger(734)
true
100 4
Nota: Puntos: Repetir
100 4
Nota: Puntos: Repetir
Por ejemplo, para mostrar un valor con un número fijo de dígitos después
del punto, se puede invocar al método toFixed. Este método redondea el
resultado al número de dígitos especificado en la llamada. Así, en el siguiente
ejemplo, se calcula la raíz cuadrada de 3.68 y se redondea el resultado al
cuarto dígito después del punto:
var r = Math.sqrt(3.68);
r.toFixed(4)
"1.9183"
Mathsqrt(3.68).toFixed(4.)
ReferenceError: Mathsqrt is not defined
Como se puede ver, el resultado devuelto por toFixed es una cadena (está
encerrada entre comillas). Para convertir el resultado en un número se puede
emplear el método estático: parseFloat:
Number.parseFloat(Math.sqrt(3.68).toFixed(4))
1.9183
732340 .toExponential()
"7.3234e+5"
(732340).toExponential()
"7.3234e+5"
100 6
Nota: Puntos: Repetir
Muestre el resultado de calcular el la raíz cúbica de -34, mostrando el
resultado con 9 dígito de precisión, empleando el método dinámico
"precision" de la clase "Number".
Math.cbrt(-34).precision(9)
-3.2396118
100 4
Nota: Puntos: Repetir
Cree un array con los elementos 1, 5, "C++", 21, false, 3.2e-12 y "casa" y
obtenga la cadena equivalente, separadas con comas, empleando el
método dinámico "join", de la clase Array.
[1, 5, "C++", 21, false, 3.2e-12 , "casa"].join()
"1,5,C++,21,false,3.2e-12,casa"
100 4
Nota: Puntos: Repetir