Parâmetros-objeto JavaScript

Objetos, ao contrário de primitivos, são passados por referência. Isso significa que modificar um objeto dentro de uma função fará com que ele seja alterado também fora da função. Veja o exemplo:

javascriptfunction func(arr) {
  arr[0] = '!';
}

let arr = [1, 2, 3];
func(arr);
console.log(arr); // exibirá ['!', 2, 3]
Задание 1

Determine, sem executar o código, o que será exibido no console:

javascriptfunction func(obj) {
  obj.a = '!';
}

let obj = {a: 1, b: 2, c: 3};
func(obj);
console.log(obj);
Задание 2

Determine, sem executar o código, o que será exibido no console:

javascriptfunction func(arg) {
  arg = '!';
}

let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
Задание 3

Determine, sem executar o código, o que será exibido no console:

javascriptfunction func(obj) {
  obj = '!';
}

let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
Задание 4

Determine, sem executar o código, o que será exibido no console:

javascriptfunction func(arr) {
  arr.splice(1, 1);
}

let arr = [1, 2, 3];
func(arr);
console.log(arr);
Задание 5

Determine, sem executar o código, o que será exibido no console:

javascriptfunction func(arr) {
  arr.slice(1, 1);
}

let arr = [1, 2, 3];
func(arr);
console.log(arr);
Задание 6

Determine, sem executar o código, o que será exibido no console:

javascriptfunction func(arr) {
  let newArr = arr;
  newArr[0] = '!';
}

let arr = [1, 2, 3];
func(arr);
console.log(arr);