Sự khác biệt giữa tham số và đối số trong JavaScript

Sự khác biệt giữa tham số và đối số trong JavaScript

JavaScript là một ngôn ngữ lập trình phổ biến và mạnh mẽ, nó được sử dụng rộng rãi trong phát triển web. Trong quá trình học và làm việc với JavaScript, bạn sẽ thường xuyên bắt gặp các thuật ngữ như "tham số" và "đối số". Vậy chúng khác nhau như thế nào và cách sử dụng chúng ra sao? Hãy cùng tìm hiểu qua bài viết dưới đây nhé.

I. Tham số (Parameters) là gì?

Tham số là các biến được định nghĩa trong phần khai báo của một hàm. Chúng đóng vai trò như các chỗ trống mà khi hàm được gọi, các giá trị thực tế (đối số) sẽ được truyền vào để hoàn thành chỗ trống này.

Ví dụ:

function sum(a, b) {
  return a + b;
}

Trong ví dụ trên, ab là các tham số của hàm sum.

II. Đối số (Arguments) là gì?

Đối số là các giá trị thực tế được truyền vào hàm khi nó được gọi. Chúng thay thế các tham số trong định nghĩa hàm và giúp hàm thực hiện các thao tác cụ thể.

Ví dụ:

sum(5, 3);

Ở đây, 53 là các đối số được truyền vào hàm sum để thay thế cho các tham số ab.

III. Sự khác biệt giữa tham số và đối số

Tham sốĐối số
Định nghĩaLà các biến được khai báo trong định nghĩa hàm.Là các giá trị thực tế được truyền vào hàm khi gọi hàm.
Vị tríNằm trong phần khai báo của hàm.Nằm trong phần gọi hàm.
Cách sử dụngĐược sử dụng như các biến trong thân hàm.Cung cấp các giá trị thực tế cho các tham số.

Ví dụ minh hoạ:

function greet(name) {
  console.log('Hello ' + name);
}

greet('Alice');
  • name là tham số của hàm greet.

  • 'Alice' là đối số được truyền vào khi gọi hàm greet.

IV. Một số lưu ý

Số lượng tham số và đối số: Số lượng đối số khi gọi hàm có thể khác với số lượng tham số khai báo trong hàm. Nếu số lượng đối số ít hơn, các tham số dư sẽ có giá trị undefined. Nếu số lượng đối số nhiều hơn, các đối số dư sẽ bị bỏ qua.

function example(a, b, c) {
  console.log(a, b, c);
}

example(1); // Output: 1, undefined, undefined
example(1, 2, 3, 4); // Output: 1, 2, 3

Tham số mặc định: Trong ES6, bạn có thể gán giá trị mặc định cho các tham số để tránh tình trạng undefined.

function multiply(a, b = 1) {
  return a * b;
}

console.log(multiply(5)); // Output: 5
console.log(multiply(5, 2)); // Output: 10

Tham số và đối số trong hàm mũi tên: Hàm mũi tên (arrow functions) cũng sử dụng tham số và đối số tương tự như hàm thông thường.

const add = (a, b) => a + b;
console.log(add(10, 5)); // Output: 15

V. Kết Luận

Việc hiểu rõ sự khác biệt giữa tham số và đối số trong JavaScript sẽ giúp bạn viết code rõ ràng và hiệu quả hơn. Tham số là các biến trong định nghĩa hàm, trong khi đối số là các giá trị thực tế được truyền vào khi gọi hàm. Nắm vững các khái niệm này, bạn sẽ dễ dàng hơn trong việc xử lý các chức năng phức tạp và tối ưu hóa mã nguồn của mình.