Tham số Đối tượng trong JavaScript
Khác với kiểu dữ liệu nguyên thủy, đối tượng được truyền bằng tham chiếu. Điều này có nghĩa là việc thay đổi đối tượng bên trong một hàm sẽ dẫn đến việc nó bị thay đổi ở cả bên ngoài hàm. Hãy xem ví dụ:
function func(arr) {
arr[0] = '!';
}
let arr = [1, 2, 3];
func(arr);
console.log(arr); // sẽ in ra ['!', 2, 3]
Xác định, mà không cần chạy mã, điều gì sẽ được in ra console:
function func(obj) {
obj.a = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj);
console.log(obj);
Xác định, mà không cần chạy mã, điều gì sẽ được in ra console:
function func(arg) {
arg = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
Xác định, mà không cần chạy mã, điều gì sẽ được in ra console:
function func(obj) {
obj = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
Xác định, mà không cần chạy mã, điều gì sẽ được in ra console:
function func(arr) {
arr.splice(1, 1);
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);
Xác định, mà không cần chạy mã, điều gì sẽ được in ra console:
function func(arr) {
arr.slice(1, 1);
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);
Xác định, mà không cần chạy mã, điều gì sẽ được in ra console:
function func(arr) {
let newArr = arr;
newArr[0] = '!';
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);