Como vemos, los objetos son las "bolitas" y las referencias, las "flechitas". Pero, ¿cual es la diferencia entre variable y referencia?
Sucede que hay muchos tipos de referencias, y una de ellas son las variables del programa. Pero, ¿no podíamos enviarles mensajes "directamente" al objeto? Por ejemplo, ¿dónde están las referencias en estos casos?:
//¿a que referencia le envío capitalize()?
"ni hao".capitalize()
//¿y a qué referencia le envío size()?
saludo.capitalize().size()
¡Simple! Cuando enviamos mensajes a objetos literales como el 2
, el true
o "hola"
, o expresiones, estamos conociendo a esos objetos a través de referencias implícitas, que pueden ser temporales (sólo existen durante ese envío de mensajes) y anónimas (no tienen un nombre asociado).
"ni hao".capitalize()
^
+-- referencia implícita al objeto "ni hao"
saludo.capitalize().size()
^
+-- referencia implicita a "HOLA"
Por eso, si te interesa hacer luego más cosas con ese objeto, tenés que crear una referencia explícita al mismo
Probá las siguientes consultas en la consola y pensá en dónde hay referencias implícitas :
"ni hao".capitalize()
4.abs().squareRoot()
(4 + 8).abs()
Tenés que iniciar sesión antes de empezar a enviar tus soluciones