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:
function func(arr) {
arr[0] = '!';
}
let arr = [1, 2, 3];
func(arr);
console.log(arr); // va afișa ['!', 2, 3]
Stabiliți, fără a rula codul, ce se va afișa în consolă:
function func(obj) {
obj.a = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj);
console.log(obj);
Stabiliți, fără a rula codul, ce se va afișa în consolă:
function func(arg) {
arg = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
Stabiliți, fără a rula codul, ce se va afișa în consolă:
function func(obj) {
obj = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
Stabiliți, fără a rula codul, ce se va afișa în consolă:
function func(arr) {
arr.splice(1, 1);
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);
Stabiliți, fără a rula codul, ce se va afișa în consolă:
function func(arr) {
arr.slice(1, 1);
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);
Stabiliți, fără a rula codul, ce se va afișa în consolă:
function func(arr) {
let newArr = arr;
newArr[0] = '!';
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);