JavaScript cung cấp một loạt các phương thức và thuộc tính trong các đối tượng tích hợp, cho phép bạn thực hiện nhiều loại thao tác khác nhau, từ làm việc với chuỗi và số đến quản lý DOM và tương tác với người dùng. Dưới đây là một cái nhìn tổng quan về các phương thức và thuộc tính quan trọng trong các đối tượng phổ biến của JavaScript:
1. Đối Tượng Object
Phương Thức
Object.keys(obj): Trả về một mảng chứa các khóa (keys) của đối tượng.
Object.keys({a: 1, b: 2}); // ["a", "b"]
Object.values(obj): Trả về một mảng chứa các giá trị (values) của đối tượng.
Object.values({a: 1, b: 2}); // [1, 2]
Object.entries(obj): Trả về một mảng các mảng chứa cặp khóa và giá trị của đối tượng.
Object.entries({a: 1, b: 2}); // [["a", 1], ["b", 2]]
Object.assign(target, ...sources): Sao chép các thuộc tính từ các đối tượng nguồn (sources) vào đối tượng mục tiêu (target).
Object.assign({}, {a: 1}, {b: 2}); // {a: 1, b: 2}
Thuộc Tính
2. Đối Tượng Array
Phương Thức
Array.isArray(obj): Kiểm tra xem đối tượng có phải là một mảng không.
Array.isArray([1, 2, 3]); // true
Array.prototype.push(...elements): Thêm một hoặc nhiều phần tử vào cuối mảng và trả về độ dài mới của mảng.
let arr = [1, 2];
arr.push(3); // [1, 2, 3]
Array.prototype.pop(): Xóa và trả về phần tử cuối cùng của mảng.
let arr = [1, 2, 3];
arr.pop(); // 3
Array.prototype.shift(): Xóa và trả về phần tử đầu tiên của mảng.
let arr = [1, 2, 3];
arr.shift(); // 1
Array.prototype.unshift(...elements): Thêm một hoặc nhiều phần tử vào đầu mảng và trả về độ dài mới của mảng.
let arr = [2, 3];
arr.unshift(1); // [1, 2, 3]
Array.prototype.map(callback): Tạo một mảng mới với kết quả của việc gọi hàm callback trên mỗi phần tử của mảng.
[1, 2, 3].map(x => x * 2); // [2, 4, 6]
Array.prototype.filter(callback): Tạo một mảng mới với tất cả các phần tử thỏa mãn điều kiện của hàm callback.
[1, 2, 3, 4].filter(x => x % 2 === 0); // [2, 4]
Array.prototype.reduce(callback, initialValue): Áp dụng một hàm callback cho mỗi phần tử của mảng (từ trái sang phải) để giảm mảng thành một giá trị duy nhất.
[1, 2, 3].reduce((acc, x) => acc + x, 0); // 6
Thuộc Tính
3. Đối Tượng String
Phương Thức
String.prototype.charAt(index): Trả về ký tự tại vị trí chỉ định.
'hello'.charAt(1); // 'e'
String.prototype.includes(searchString, position): Kiểm tra xem chuỗi có chứa chuỗi con không.
'hello'.includes('ell'); // true
String.prototype.indexOf(searchString, position): Trả về chỉ số của lần xuất hiện đầu tiên của chuỗi con trong chuỗi.
'hello'.indexOf('l'); // 2
String.prototype.slice(beginIndex, endIndex): Trả về một phần của chuỗi giữa hai chỉ số.
'hello'.slice(1, 4); // 'ell'
String.prototype.toUpperCase(): Chuyển tất cả ký tự trong chuỗi thành chữ hoa.
'hello'.toUpperCase(); // 'HELLO'
String.prototype.toLowerCase(): Chuyển tất cả ký tự trong chuỗi thành chữ thường.
'HELLO'.toLowerCase(); // 'hello'
Thuộc Tính
String.prototype.length: Trả về số lượng ký tự trong chuỗi.
'hello'.length; // 5
4. Đối Tượng Number
Phương Thức
Number.isFinite(value): Kiểm tra xem giá trị có phải là số hữu hạn không.
Number.isFinite(123); // true
Number.isNaN(value): Kiểm tra xem giá trị có phải là NaN không.
Number.isNaN(NaN); // true
Number.parseFloat(string): Phân tích chuỗi và trả về một số thực.
Number.parseFloat('3.14'); // 3.14
Number.parseInt(string, radix): Phân tích chuỗi và trả về một số nguyên trong cơ số radix.
Number.parseInt('10', 10); // 10
Thuộc Tính
Number.MAX_VALUE: Giá trị lớn nhất mà một biến kiểu số có thể có.
Number.MAX_VALUE; // 1.7976931348623157e+308
Number.MIN_VALUE: Giá trị nhỏ nhất mà một biến kiểu số có thể có.
Number.MIN_VALUE; // 5e-324
5. Đối Tượng Date
Phương Thức
Date.now(): Trả về số mili giây kể từ thời điểm 01/01/1970.
Date.now(); // Ví dụ: 1657638479387
Date.prototype.getDate(): Trả về ngày của tháng (1-31) từ đối tượng Date.
new Date().getDate(); // Ví dụ: 20
Date.prototype.getMonth(): Trả về tháng (0-11) từ đối tượng Date.
new Date().getMonth(); // Ví dụ: 6 (Tháng 7)
Date.prototype.getFullYear(): Trả về năm của đối tượng Date.
new Date().getFullYear(); // Ví dụ: 2024
Thuộc Tính
6. Đối Tượng Math
Phương Thức
Math.max(...values): Trả về giá trị lớn nhất trong danh sách các giá trị.
Math.max(1, 2, 3); // 3
Math.min(...values): Trả về giá trị nhỏ nhất trong danh sách các giá trị.
Math.min(1, 2, 3); // 1
Math.random(): Trả về một số ngẫu nhiên trong khoảng từ 0 đến 1.
Math.random(); // Ví dụ: 0.123456789
Math.round(value): Làm tròn số đến số nguyên gần nhất.
Math.round(2