Từ khóa this trong JavaScript
Trong định nghĩa hàm, this
đề cập đến “chủ sở hữu” của hàm. Để hiểu hơn chúng ta cùng xem ví dụ sau nhé:
1 2 3 4 5 6 7 8 9 10 11 |
//Tạo object person const person = { firstName: "John", lastName: "Doe", id: 5566, // Tạo method fullName fullName : function() { return this.firstName + " " + this.lastName; } }; console.log(person.fullName()); // John Doe |
Trong ví dụ ở trên, this
chính là đối tượng person
chủ sở hữu của hàm fullName
. Nói cách khác this.firstName là thuộc tính firstName của object person.
Object Method trong JavaScript
Các phương thức JavaScript là các hành động có thể được thực hiện trên các đối tượng. Phương thức JavaScript là một thuộc tính chứa một định nghĩa hàm.
Property | Value |
---|---|
firstName | John |
lastName | Doe |
age | 50 |
eyeColor | blue |
fullName | function() {return this.firstName + ” ” + this.lastName;} |
Phương thức là các hàm được lưu trữ dưới dạng thuộc tính đối tượng.
Truy cập Object Method
Bạn có thể truy cập một phương thức đối tượng với cú pháp sau:
1 |
objectName.methodName() |
Thông thường, bạn sẽ mô tả fullName ()
như một phương thức của đối tượng person
và fullName
là một thuộc tính.
Thuộc tính fullName sẽ thực thi (như một hàm) khi nó được gọi với (). Ví dụ sau truy cập phương thức fullName ()
của một đối tượng person
:
1 2 3 4 5 6 7 8 9 10 11 |
//Tạo object person const person = { firstName: "John", lastName: "Doe", id: 5566, // Tạo method fullName fullName : function() { return this.firstName + " " + this.lastName; } }; console.log(person.fullName()); // John Doe |
Nếu bạn truy cập thuộc tính fullName
, không có ()
, nó sẽ trả về định nghĩa hàm:
1 2 3 4 5 6 7 8 9 10 11 12 |
//Tạo object person const person = { firstName: "John", lastName: "Doe", id: 5566, // Tạo method fullName fullName : function() { return this.firstName + " " + this.lastName; } }; // Gọi fullName nhưng không có dấu () console.log(person.fullName); |

Thêm method cho Object
Thêm một phương thức mới vào một đối tượng vô cùng đơn giản, nó cũng giống như thêm thuộc tính vào đối tượng vậy:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
//Tạo object person const person = { firstName: "John", lastName: "Doe", id: 5566, // Tạo method fullName fullName : function() { return this.firstName + " " + this.lastName; } }; // Thêm phương thức getId cho đối tượng person person.getId = function () { return this.id; } console.log(person.getId()); // 5566 |
Sử dụng Built-In Methods
Ví dụ này sử dụng phương thức toUpperCase ()
của đối tượng String, để chuyển văn bản thành chữ hoa:
1 2 3 |
let message = "Hello world!"; let x = message.toUpperCase(); console.log(x); // HELLO WORLD! |