Các mảng JavaScript đi kèm với một phương thức sắp xếp tích hợp. Phương thức sắp xếp này chuyển đổi các phần tử mảng thành chuỗi và thực hiện sắp xếp từ điển theo mặc định. Điều này có thể gây ra sự cố khi sắp xếp các mảng số. Do đó đây là một giải pháp đơn giản để khắc phục vấn đề này
[0,10,4,9,123,54,1].sort[[a,b] => a-b]; >>> [0, 1, 4, 9, 10, 54, 123]
Bạn đang cung cấp một hàm để so sánh hai phần tử trong mảng số với phương thức sắp xếp. Chức năng này giúp chúng tôi nhận được đầu ra chính xác
Bạn có thể cần hợp nhất hai đối tượng lại với nhau và tạo một đối tượng có thông tin tốt hơn để làm việc với. Bạn có thể sử dụng toán tử trải rộng ...
[vâng, đó là dấu ba chấm]
Xét hai đối tượng emp và job
let emp = {
'id': 'E_01',
'name': 'Jack',
'age': 32,
'addr': 'India'
};let job = {
'title': 'Software Dev',
'location': 'Paris'
};
Bạn có thể hợp nhất chúng thông qua toán tử trải rộng ...
thành một đối tượng duy nhất
// spread operator
let merged = {...emp, ...job};
console.log['Spread merged', merged];
Có một cách khác để thực hiện việc hợp nhất này thông qua Object.assign[]
console.log['Object assign', Object.assign[{}, emp, job]];
Lưu ý, cả toán tử trải rộng và Đối tượng. gán thực hiện hợp nhất nông. Trong hợp nhất nông, các thuộc tính của đối tượng đầu tiên được ghi đè bằng các giá trị thuộc tính giống như đối tượng thứ hai
Trong JavaScript, các đối tượng là vua. Nếu bạn hiểu các đối tượng, bạn hiểu JavaScript
Trong JavaScript, hầu hết "mọi thứ" đều là một đối tượng
- Booleans có thể là đối tượng [nếu được xác định bằng từ khóa
new
] - Số có thể là đối tượng [nếu được xác định bằng từ khóa
new
] - Chuỗi có thể là đối tượng [nếu được xác định bằng từ khóa
new
] - Ngày luôn là đối tượng
- Toán học luôn là đối tượng
- Biểu thức chính quy luôn là đối tượng
- Mảng luôn là đối tượng
- Hàm luôn là đối tượng
- Đối tượng luôn là đối tượng
Tất cả các giá trị JavaScript, ngoại trừ các giá trị nguyên thủy, là các đối tượng
JavaScript nguyên thủy
Giá trị nguyên thủy là một giá trị không có thuộc tính hoặc phương thức
3. 14 là một giá trị nguyên thủy
Kiểu dữ liệu nguyên thủy là dữ liệu có giá trị nguyên thủy
JavaScript định nghĩa 7 loại kiểu dữ liệu nguyên thủy
ví dụ
string
number
boolean
null
undefined
symbol
bigint
bất biến
Các giá trị nguyên thủy là bất biến [chúng được mã hóa cứng và không thể thay đổi]
nếu x = 3. 14, bạn có thể thay đổi giá trị của x, nhưng bạn không thể thay đổi giá trị của 3. 14
ValueTypeComment"Xin chào"chuỗi"Xin chào" luôn là "Xin chào"3. 14số3. 14 luôn là 3. 14truebooleantrue luôn luôn truefalsebooleanfalse luôn falsenullnull [đối tượng]null luôn nullundefinedundefinedundefined luôn không xác địnhĐối tượng là biến
Các biến JavaScript có thể chứa các giá trị đơn lẻ
Các biến JavaScript cũng có thể chứa nhiều giá trị
Đối tượng cũng là biến. Nhưng các đối tượng có thể chứa nhiều giá trị
Giá trị đối tượng được viết dưới dạng tên. cặp giá trị [tên và giá trị được phân tách bằng dấu hai chấm]
Thí dụ
hãy để người = {firstName. "John", họ Tên. "Doe", tuổi. 50, màu mắt. "màu xanh da trời"};
Tự mình thử »Một đối tượng JavaScript là một tập hợp các giá trị được đặt tên
Đó là một thông lệ phổ biến để khai báo các đối tượng bằng từ khóa new
0
Thí dụ
const người = {tên đầu tiên. "John", họ Tên. "Doe", tuổi. 50, màu mắt. "màu xanh da trời"};
Tự mình thử »Thuộc tính đối tượng
Các giá trị được đặt tên, trong đối tượng JavaScript, được gọi là thuộc tính
PropertyValuefirstNameJohnlastNameDoeage50eyeColorblueCác đối tượng được viết dưới dạng cặp giá trị tên tương tự như
- Mảng kết hợp trong PHP
- Từ điển trong Python
- Bảng băm trong C
- Bản đồ băm trong Java
- Băm trong Ruby và Perl
phương pháp đối tượng
Phương thức là các hành động có thể được thực hiện trên các đối tượng
Thuộc tính đối tượng có thể là cả giá trị nguyên thủy, đối tượng khác và chức năng
Phương thức đối tượng là thuộc tính đối tượng chứa định nghĩa hàm
PropertyValuefirstNameJohnlastNameDoeage50eyeColorbluefullNamefunction[] {return this. FirstName + " " + cái này. họ;}Các đối tượng JavaScript là nơi chứa các giá trị được đặt tên, được gọi là các thuộc tính và phương thức
Bạn sẽ tìm hiểu thêm về các phương pháp trong các chương tiếp theo
Tạo đối tượng JavaScript
Với JavaScript, bạn có thể xác định và tạo các đối tượng của riêng mình
Có nhiều cách khác nhau để tạo đối tượng mới
- Tạo một đối tượng duy nhất, sử dụng một đối tượng bằng chữ
- Tạo một đối tượng duy nhất, với từ khóa
new
- Xác định một hàm tạo đối tượng, sau đó tạo các đối tượng thuộc loại đã xây dựng
- Tạo một đối tượng bằng cách sử dụng
new
2
Sử dụng một Object Literal
Đây là cách dễ nhất để tạo Đối tượng JavaScript
Sử dụng một đối tượng theo nghĩa đen, cả hai bạn xác định và tạo một đối tượng trong một câu lệnh
Một đối tượng theo nghĩa đen là một danh sách tên. các cặp giá trị [như tuổi. 50] bên trong dấu ngoặc nhọn {}
Ví dụ sau tạo một đối tượng JavaScript mới với bốn thuộc tính
Thí dụ
const người = {tên đầu tiên. "John", họ Tên. "Doe", tuổi. 50, màu mắt. "màu xanh da trời"};
Tự mình thử »Dấu cách và ngắt dòng không quan trọng. Một định nghĩa đối tượng có thể trải rộng trên nhiều dòng
Thí dụ
const người = {
tên đầu tiên. "John",
họ. "Doe",
tuổi. 50,
màu mắt. "màu xanh da trời"
};
Ví dụ này tạo một đối tượng JavaScript trống, sau đó thêm 4 thuộc tính
Thí dụ
const nguoi = {};
người. firstName = "John";
người. lastName = "Doe";
người. tuổi = 50;
người. eyeColor = "xanh dương";
Sử dụng Từ khóa JavaScript mới
Ví dụ sau tạo một đối tượng JavaScript mới bằng cách sử dụng new
3, sau đó thêm 4 thuộc tính
Thí dụ
const person = đối tượng mới[];
người. firstName = "John";
người. lastName = "Doe";
người. tuổi = 50;
người. eyeColor = "xanh dương";
Các ví dụ trên làm chính xác như vậy
Nhưng không cần dùng new
3
Để dễ đọc, đơn giản và tốc độ thực thi, hãy sử dụng phương thức nghĩa đen của đối tượng
Các đối tượng JavaScript có thể thay đổi
Các đối tượng có thể thay đổi. Chúng được giải quyết theo tham chiếu, không phải theo giá trị
Nếu person là một đối tượng, câu lệnh sau sẽ không tạo bản sao của person
const x = người;
Đối tượng x không phải là bản sao của người. nó là người. Cả x và người đều là cùng một đối tượng
Mọi thay đổi đối với x cũng sẽ thay đổi người, vì x và người là cùng một đối tượng
Thí dụ
const người = {
tên đầu tiên. "John",
họ. "Doe",
tuổi. 50, màu mắt. "màu xanh da trời"
}
const x = người;
x. tuổi = 10; . tuổi và người. tuổi