Solucionado (ver solución)
Solucionado
(ver solución)
4
respuestas

¿Qué pasa si inicializo mi función con undefined?

Me ha quedado claro la importancia del uso de null al momento de inicializar mis variables, pero en el caso que presenta el instructor, ¿Por qué no definió las otras variables que no esperan objetos con la palabra reservada "undefined" colocando en su lugar solo comillas simples ('') en el constructor, es una mala práctica definirlas con undefined directamente?, adjunto una captura del ejemplo que quiero aclarar, buen día :)

Asignando undefined a variable en el constructor

4 respuestas

Hola Edurado, espero que estés bien!

Null representa un valor especial para una referencia de objeto nulo. En los programas escritos en lenguaje C, el 0 se utiliza como nulo, ya que casi todos los sistemas operativos consideran un error acceder a una dirección con este valor. Null generalmente se usa para indicar que el campo no contiene valores conocidos. Usamos una cadena vacía para indicar que, en el caso del campo "Teléfono", el cliente no tiene teléfono.

Si este post te ayudó, por favor, marca como solucionado ✓.

Eso va a depender del tipo del dato y en ocasiones del lenguaje. En este las comillas simples se utilizán porque el atributo de agencia es una cadena.

solución!

Hola Eduardo, como estas?

Es buena práctica inicializar las variables con su valor por defecto. En el caso de variables numericas, inicializarlas en 0, para variables texto inicializaras en vacio. En el caso de objetos como ellos son referencias, puedes inicializar la instancia en null o llamar a un constructor con la inicialización de atributos.

Cuando declaras una variable y no la inicializas, el interprete de Javascript, ya asume que está undefined, ahora bien eso deja un espacio para que al intentar usar la variable, si accedes a ella sin verificar que esté definida, tu programa va a dar crash. Es decir no inicializar variables o en el caso de tu pregunta, inicializar para undefined no es recomendable.

Muchas gracias, Rafaela, Eddy y Leonardo, sin duda es un detalle que no quería pasar por alto y ahora me ha quedado mucho más claro :)