Sunteți pe pagina 1din 5

Indique y explique los resultados de cada una de las siguientes

situaciones, cuando son evaluadas por JavaScript:


#

Situacin

Indicar el resultado de evaluar


las siguientes expresiones:
10+23
Indicar el resultado de evaluar
las siguientes expresiones:
"33" - / "10"

Resulta
do
33
nada

Indicar el resultado de evaluar


las siguientes expresiones:
typeof (10+23)

number

Indicar el resultado de evaluar


las siguientes expresiones: 23
+ ""

23

Indicar el resultado de evaluar


las siguientes expresiones:
typeof ("10"+23)

string

Explicacin
EL resultado es 33 debido a que se
est
realizando
una
operacin
aritmtica con nmeros enteros.
NO se muestra un resultado, esto de
a que existe un error en el cdigo,
porque no se pude realizar ninguna
operacin en esta expresin "33" - /
"10".
EL mtodo typeof retorna el tipo de
dato del valor que se enve por
parmetro, como se le est enviando
una operacin aritmtica es decir
nmeros y
por ende el mtodo
typeof retornara number.
Retorna la cadena 23 porque
estamos realizando una operacin de
concatenacin entre el nmero 23 y
la cadena
JavaScript realiza
conversin automtica de tipos
cuando hay ambigedad en una
expresin utiliza las prioridades para
resolver la este tipo de problemas, la
prioridad la tienen las cadenas string
es
decir
toda
la
expresin
automticamente se convierte en
string y por ende el mtodo typeof
retornara string.
EL mtodo typeof retorna el tipo de
dato del valor que se enve por
parmetro, como se est enviando
una operacin
de concatenacin
entre un nmero y una cadena
JavaScript
realiza
conversin
automtica de tipos
cuando hay
ambigedad en una expresin utiliza
las prioridades para resolver la este

Indicar el resultado de evaluar


las siguientes expresiones:
"10" 23

Nada

Al ejecutar un programa cuya


primera sentencia es var x =
2; Indicar el contenido de la
variable ydespus de ejecutar
la siguiente sentencia o si
ocurrir ErrorDeEjecucin: var
y = ++x + 1;
Al ejecutar un programa cuya
primera sentencia es var x =
2; Indicar el contenido de la
variable ydespus de ejecutar
la siguiente sentencia o si
ocurrir ErrorDeEjecucin: var
y = k + 1;
Al ejecutar un programa cuya
primera sentencia es var x =
2; Indicar el contenido de la
variable xdespus de ejecutar
la siguiente sentencia o si
ocurrir ErrorDeEjecucin: x
*= 2;
Al ejecutar un programa cuya
primera sentencia es var x =
2; Indicar el contenido de la
variable xdespus de ejecutar
la siguiente sentencia o si
ocurrir ErrorDeEjecucin: x
+= "0";
Indicar el resultado de evaluar
la siguiente expresin: (0 ||
undefined) && true

10

11

tipo de problemas, la prioridad la


tienen las cadenas string es decir
toda la expresin automticamente
se convierte en string y por ende el
mtodo typeof retornara string.
NO se muestra un resultado, esto de
a que existe un error en el cdigo,
porque no se pude realizar ninguna
operacin en esta expresin "10" 23.
El resultado es 4 ya que primero se
realiza un preincremento el valor de
la variables x es decir aumenta de 2
a 3 y luego se le suma otro valor
ms, es decir de 3 a 4 este ser el
resultado de la variable y.

error

Error de ejecucin porque existe un


error sintaxis ya que la variable k
no existe en el script.

Los operadores matemticos tambin


se pueden combinar con el operador
de asignacin para abreviar su
notacin con el fin de simplificar la
expresin, entonces el operador *=
realiza producto y asignacin; es
decir x=x*2;
El resultado es la cadena
20
porque se est concatenado y valor
numrico 2 con una cadena 0 es
decir x=x+0
2=2+0

20

undefine
d

Para entender un mejor el ejercicios


realizaremos todas las operaciones
por partes :

El resultado entre (0 ||
undefined)
es
indefinido
porque segn la semntica del
operador
lgico
OR
si
<valor_1> se evala a true
devuelve
<valor_1>,
sino

devuelve <valor_2>, como el


primer valor es 0 y cero es
equivalente a falso en booleano
y por ellos ser devuelve el
segundo
valor
que
es
indefinido.
Luego evaluamos (undefined
&& true) el resultado es
indefinido
porque
semnticamente del operador
lgico AND && si <valor_1> se
evala a false
devuelve
<valor_1>,
sino
devuelve
<valor_2> como indefinido es
equivalente a falso por ende el
operador
OR
devolver
undefined.
12

Indicar el resultado de evaluar


la siguiente expresin: (!0 || !
undefined) && !true

false

13

Indicar el resultado de evaluar


la siguiente expresin: (1 && !
undefined) || true

true

14

Indicar el resultado de evaluar


la siguiente expresin: "c" <
"cc"

true

15

Indicar el resultado de evaluar

false

La respuesta es falso porque existe


una regla de conversin de otros
tipos a booleano. false es igual a 0,
-0,
NaN,
null,
undefined,
"",'
entonces preguntamos que si (!0 || !
undefined) de acuerdo a las regla
esto es verdadero.
Luego este resultado se realiza una
operacin AND con (true && true) es
decir true && false y el resultado de
esta operacin booleana es false.
La respuesta es verdadero porque
existe una regla de conversin de
otros tipos a booleano. false es igual
a 0, -0, NaN, null, undefined, "",'
entonces preguntamos que si (1
&& !undefined) de acuerdo a las
regla esto es verdadero pero luego
realizamos una operacin OR entre
( true|| true) sabemos el operador
OR con un valor que sea verdadero
devuelve verdadero.
Por qu se est comparando si c es
lexicogrficamente menor cc para
este caso verdadero.
La respuesta es falso porque existe

la siguiente expresin: !(0 !==


"")

16

Indicar el resultado de evaluar


la
siguiente
expresin:
(0).toPrecision(1)

17

Indicar el resultado de evaluar


la
siguiente
expresin:
Math.floor(2.7)
Si tenemos las siguientes
definiciones de funciones y
variables:
function f_1 (x) { return x; };
function f_2 () { return
+arguments[1]; };
var f_3 = function (x) { return
!x; };
var f_4 = f_2;
Como se evaluar la siguiente
expresin: f_1 ()

18

19

Si tenemos las siguientes


definiciones de funciones y
variables:
function f_1 (x) { return x; };
function f_2 () { return
+arguments[1]; };
var f_3 = function (x) { return
!x; };
var f_4 = f_2;
Como se evaluar la siguiente
expresin: f_2 (7, 8)

indefinid
o

una regla de conversin de otros


tipos a booleano. false es igual a 0,
-0,
NaN,
null,
undefined,
"",'
entonces preguntamos que si (0 !==
"") de acuerdo a las regla esto es
verdadero pero luego se niega el
resultado !(true) y esto se convierte
en falso.
toPrecision
retorna
el
valor
formateado
con
una
longitud
especificada
para
este
ejemplo
retorna 0 ya que el nmero cero solo
tiene un dgito.
Porque Math.floor devuelve el entero
menor o igual al argumento.
Cuando hacemos el llamado a una
funcion de JavaScript sabemos que
no se especifican los tipos de datos
de parmetros, tampoco no realizan
la verificacin de tipos en los
argumentos
pasados
ni
se
comprueban
el
nmero
de
argumentos recibidos y adems las
funciones tienen incorporado array
llamado arguments, este contiene los
argumentos utilizados cuando la
funcin se llama, entonces la funcin
f_1 retorna el elemento que se le
enva por parmetros pa este caso
retornar indefinido porque al llamar
esta
funcin
no
le
estamos
enviando ningn argumento.
Cuando hacemos el llamado a una
funcin de JavaScript sabemos que
no se especifican los tipos de datos
de parmetros, tampoco no realizan
la verificacin de tipos en los
argumentos
pasados
ni
se
comprueban
el
nmero
de
argumentos recibidos y adems las
funciones tienen incorporado array
llamado arguments, este contiene los
argumentos utilizados cuando la
funcin se llama,
entonces cuando hacemos f_4 =f_2
estamos diciendo que la la variable

20

Si tenemos las siguientes


definiciones de funciones y
variables:
function f_1 (x) { return x; };
function f_2 () { return
+arguments[1]; };
var f_3 = function (x) { return
!x; };
var f_4 = f_2;
Cmo se evaluar la siguiente
expresin: f_4 (7, "8")

f_4 va a hacer igual a la funcin F_2


es decir la funcin f_2 retorna el
segundo elemento que se le enva
por parmetros para este caso el
nmero 8.
Cuando hacemos el llamado a una
funcin de JavaScript sabemos que
no se especifican los tipos de datos
de parmetros, tampoco no realizan
la verificacin de tipos en los
argumentos
pasados
ni
se
comprueban
el
nmero
de
argumentos recibidos y adems las
funciones tienen incorporado array
llamado arguments, este contiene los
argumentos utilizados cuando la
funcin se llama,
entonces cuando hacemos f_4 =f_2
estamos diciendo que la variable f_4
va a hacer igual a la funcin F_2
es decir la funcin f_2 retorna el
segundo elemento que se le enva
por parmetros para este caso la
cadena 8

S-ar putea să vă placă și