Tham trị và Tham chiếu trong JavaScript?
Tham trị và Tham chiếu là hai khái niệm quan trọng trong lập trình JavaScript, đặc biệt khi truyền tham số cho hàm hoặc phương thức. Hiểu rõ sự khác biệt giữa hai khái niệm này sẽ giúp bạn viết code hiệu quả và tránh gặp lỗi.
1. Tham trị:
Khi truyền tham trị trong JavaScript, một bản sao của giá trị được truyền vào hàm hoặc phương thức.
Bất kỳ thay đổi nào được thực hiện đối với tham số bên trong hàm sẽ không ảnh hưởng đến giá trị gốc bên ngoài hàm.
Tham trị thường được sử dụng cho các kiểu dữ liệu nguyên thủy như số, chuỗi, boolean.
Ví dụ:
function square(x) {
x = x * x;
return x;
}
const number = 5;
const result = square(number);
console.log(number); // Output: 5
console.log(result); // Output: 25Trong ví dụ trên, giá trị
5được tham trị cho hàmsquare.Bên trong hàm, giá trị của biến
xđược thay đổi thành25.Tuy nhiên, thay đổi này không ảnh hưởng đến giá trị
numberbên ngoài hàm.
2. Tham chiếu:
Khi truyền tham chiếu trong JavaScript, tham chiếu đến biến được truyền vào hàm hoặc phương thức.
Bất kỳ thay đổi nào được thực hiện đối với tham số bên trong hàm sẽ ảnh hưởng trực tiếp đến giá trị gốc bên ngoài hàm.
Tham chiếu thường được sử dụng cho các kiểu dữ liệu phức tạp như mảng, đối tượng.
Ví dụ:
Trong ví dụ trên, mảng
numbersđược tham chiếu cho hàmdoubleList.Bên trong hàm, các phần tử trong mảng
numbersđược nhân đôi.Do sử dụng tham chiếu, thay đổi này ảnh hưởng trực tiếp đến mảng
numbersbên ngoài hàm.
Bảng so sánh Tham trị và Tham chiếu:
Truyền
Bản sao của giá trị
Tham chiếu đến biến
Ảnh hưởng
Không ảnh hưởng đến giá trị gốc
Ảnh hưởng trực tiếp đến giá trị gốc
Sử dụng
Kiểu dữ liệu nguyên thủy
Kiểu dữ liệu phức tạp
Lựa chọn Tham trị hay Tham chiếu:
Lựa chọn sử dụng tham trị hay tham chiếu phụ thuộc vào mục đích sử dụng và kiểu dữ liệu được truyền.
Nên sử dụng tham trị cho các kiểu dữ liệu nguyên thủy khi không cần thay đổi giá trị gốc bên ngoài hàm.
Nên sử dụng tham chiếu cho các kiểu dữ liệu phức tạp khi cần thay đổi giá trị gốc bên ngoài hàm.
Lưu ý:
Việc sử dụng tham chiếu có thể dẫn đến lỗi nếu không được sử dụng cẩn thận.
Nên sử dụng tham chiếu một cách rõ ràng và có chủ ý để tránh gặp lỗi.
Last updated