Is JavaScript a pass-by-reference or pass-by-value language

Los tipos primitivos (Número, Cadena, etc.) se pasan por valor, pero los Objetos se desconocen, porque pueden pasar ambos por valor (en caso de que consideremos que una variable que contiene un objeto es, de hecho, una referencia al objeto) y pasado por referencia (cuando consideramos que la variable del objeto contiene el objeto mismo).

Aunque realmente no importa al final, quiero saber cuál es la forma correcta de presentar los argumentos pasando convenciones. ¿Existe un extracto de la especificación de JavaScript, que define cuál debería ser la semántica con respecto a esto?

Respuestas a la pregunta(29)

Su respuesta a la pregunta