Parametri-obiecte JavaScript

Obiectele, spre deosebire de primitive, sunt transmise prin referință. Aceasta înseamnă că modificarea unui obiect în interiorul unei funcții va duce la schimbarea acestuia și în afara funcției. Vedeți exemplul:

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

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

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