Sự khác biệt giữa {} và [] trong JavaScript là gì?
Đối tượng (viết hoa) mô tả các thuộc tính chung cho tất cả các đối tượng JavaScript. Nó được định nghĩa trong lib. es5. d. ts đi kèm với thư viện TypeScript Show
Như bạn có thể thấy, nó bao gồm một số thuộc tính phổ biến như 9, 00, v.v.Đây có phải là kết thúc không? Bởi vì nó chỉ nhấn mạnh những thuộc tính phổ biến đối với các đối tượng JavaScript. Vì vậy, bạn có thể gán các đối tượng có thể đóng hộp như 01, 02, 03, 04, 05 cho nó, nhưng không phải theo cách khác{} 06 mô tả một đối tượng không có thành viên nào của riêng nó, điều đó có nghĩa là TypeScript sẽ phàn nàn nếu bạn cố truy cập vào các thành viên thuộc tính của nóTừ ví dụ mã trên, chúng ta có thể thấy rằng 06 và 90 (viết hoa) có các tính năng giống nhau. Nghĩa là, nó chỉ có thể truy cập những thuộc tính phổ biến (ngay cả khi logic mã JavaScript là chính xác), tất cả các đối tượng có thể đóng hộp có thể được gán cho nó, v.v.Điều này là do loại 06 có thể truy cập các thuộc tính chung đó thông qua chuỗi nguyên mẫu và nó cũng không có thuộc tính riêng. Vì vậy, nó hoạt động giống như loại 90 (viết hoa). Nhưng họ đại diện cho các khái niệm khác nhauđối tượng (chữ thường)đối tượng (chữ thường) có nghĩa là bất kỳ loại không nguyên thủy nào, được thể hiện bằng mã như thế này type PrimitiveType = Điều này có nghĩa là tất cả các loại không nguyên thủy đều không thể gán cho nó và ngược lại Snack: RecordTrong mã nguồn của nhiều thư viện phổ biến, chúng ta có thể thấy 93 đại diện cho các loại không nguyên thủy. Nó có tác dụng tương tự như đối tượng (chữ thường), nhưng nó có nhiều ngữ nghĩa hơnĐể biết các loại tiện ích nâng cao hơn, hãy xem bài viết trước của tôi 7 loại tiện ích tích hợp TypeScript bạn phải biếtNâng cao hiểu biết của bạn về các loại tích hợpjav. tiếng Anh đơn giản. io Cảm ơn vì đã đọc. Nếu bạn thích những câu chuyện như vậy và muốn ủng hộ tôi, hãy cân nhắc trở thành thành viên của Medium. Nó có giá 5 đô la mỗi tháng và cung cấp cho bạn quyền truy cập không giới hạn vào nội dung Phương tiện. Tôi sẽ nhận được một ít hoa hồng nếu bạn đăng ký qua liên kết của tôi Câu lệnh 7 thực thi một vòng lặp hoạt động trên một chuỗi các giá trị có nguồn gốc từ một đối tượng có thể lặp lại. Các đối tượng có thể lặp lại bao gồm các phiên bản tích hợp sẵn như 8, 9, 0, 1, 2, 3 (và các bộ sưu tập DOM khác), cũng như đối tượng 4, trình tạo được tạo bởi các hàm trình tạo và các trình lặp do người dùng định nghĩaThử nócú pháp
5Nhận một giá trị từ chuỗi trên mỗi lần lặp. Có thể là một khai báo với 6, 7 hoặc 8 hoặc một mục tiêu chuyển nhượng (e. g. một biến được khai báo trước đó hoặc một thuộc tính đối tượng) 9Một đối tượng có thể lặp lại. Nguồn của chuỗi giá trị mà vòng lặp hoạt động 50Một câu lệnh được thực hiện trên mỗi lần lặp. Có thể tham khảo 5. Bạn có thể sử dụng một câu lệnh khối để thực thi nhiều câu lệnhSự miêu tảMột vòng lặp 7 hoạt động trên các giá trị có nguồn gốc từ một lần lặp từng cái một theo thứ tự tuần tự. Mỗi hoạt động của vòng lặp trên một giá trị được gọi là một lần lặp và vòng lặp được gọi là lặp qua lần lặp. Mỗi lần lặp thực hiện các câu lệnh có thể tham chiếu đến giá trị chuỗi hiện tạiKhi vòng lặp 7 lặp lại trên một vòng lặp có thể lặp lại, trước tiên, vòng lặp đó gọi phương thức 54 của vòng lặp đó, phương thức này trả về một trình vòng lặp, sau đó gọi liên tục phương thức 55 của trình vòng lặp kết quả để tạo ra chuỗi giá trị được gán cho 5Một vòng lặp 7 thoát khi trình vòng lặp hoàn thành (phương thức 55 của trình lặp trả về một đối tượng chứa 59). Bạn cũng có thể sử dụng các câu lệnh luồng điều khiển để thay đổi luồng điều khiển thông thường. 50 thoát khỏi vòng lặp và chuyển đến câu lệnh đầu tiên sau thân vòng lặp, trong khi 51 bỏ qua phần còn lại của các câu lệnh của lần lặp hiện tại và tiếp tục với lần lặp tiếp theoNếu vòng lặp 7 thoát sớm (e. g. một câu lệnh 50 hoặc một lỗi được đưa ra), phương thức 54 của trình vòng lặp được gọi để thực hiện bất kỳ thao tác dọn dẹp nàoPhần 5 của 7 chấp nhận mọi thứ có thể đến trước toán tử 57. Bạn có thể sử dụng 6 để khai báo biến miễn là nó không được gán lại trong thân vòng lặp (nó có thể thay đổi giữa các lần lặp, vì đó là hai biến riêng biệt). Nếu không, bạn có thể sử dụng 7
Ghi chú. Mỗi lần lặp tạo ra một biến mới. Việc gán lại biến bên trong thân vòng lặp không ảnh hưởng đến giá trị ban đầu trong lần lặp (trong trường hợp này là một mảng) Bạn cũng có thể sử dụng cấu trúc hủy hoặc thuộc tính đối tượng như 60Tuy nhiên, một quy tắc đặc biệt cấm sử dụng 61 làm tên biến. Đây là cú pháp không hợp lệ
Điều này là để tránh sự mơ hồ về cú pháp với mã hợp lệ 62, là một vòng lặp 63ví dụLặp lại trên một mảng 5Lặp qua một chuỗiCác chuỗi được lặp lại bằng các điểm mã Unicode 5Lặp lại trên một TypedArray 6Lặp lại trên Bản đồ 4Lặp lại một Set 5Lặp lại đối tượng đối sốBạn có thể lặp lại đối tượng 4 để kiểm tra tất cả các tham số được truyền vào một hàm 7Lặp lại trên một NodeListVí dụ sau đây thêm một lớp 65 vào các đoạn văn là hậu duệ trực tiếp của phần tử 66 bằng cách lặp qua bộ sưu tập DOM 3 1Lặp lại qua một lần lặp do người dùng xác địnhLặp lại một đối tượng bằng phương thức 68 trả về một trình vòng lặp tùy chỉnh 0Lặp lại một đối tượng bằng phương pháp trình tạo 68 1Trình vòng lặp có thể lặp lại (bộ lặp có phương thức 54 trả về 41) là một kỹ thuật khá phổ biến để làm cho trình vòng lặp có thể sử dụng được trong các cú pháp mong đợi có thể lặp lại, chẳng hạn như 7 2Lặp lại trên một trình tạo 3xuất cảnh sớmViệc thực thi câu lệnh 50 trong vòng lặp đầu tiên khiến nó thoát sớm. Vòng lặp vẫn chưa kết thúc, vì vậy vòng lặp thứ hai sẽ tiếp tục từ nơi vòng lặp đầu tiên dừng lại ở 4Trình tạo triển khai phương thức 54, khiến hàm trình tạo quay trở lại sớm khi thoát khỏi vòng lặp. Điều này làm cho các trình tạo không thể tái sử dụng giữa các vòng lặp 5sự khác biệt giữa cho. của và cho. TrongCả hai câu lệnh 45 và 7 đều lặp lại một cái gì đó. Sự khác biệt chính giữa chúng là ở những gì chúng lặp đi lặp lạiCâu lệnh 45 lặp qua vô số thuộc tính chuỗi của một đối tượng, trong khi câu lệnh 7 lặp lại các giá trị mà đối tượng có thể lặp xác định sẽ được lặp lạiVí dụ sau đây cho thấy sự khác biệt giữa vòng lặp 7 và vòng lặp 45 khi được sử dụng với vòng lặp 8 6Đối tượng 9 kế thừa các thuộc tính 53 và 54 vì nó chứa cả 55 và 56 trong chuỗi nguyên mẫu của nóVòng lặp 45 chỉ ghi lại vô số thuộc tính của đối tượng 9. Nó không ghi nhật ký các phần tử mảng 59, 70, 71 hoặc 72 vì đó không phải là thuộc tính — chúng là giá trị. Nó ghi lại các chỉ mục mảng cũng như 54 và 53, là các thuộc tính thực tế. Nếu bạn không chắc tại sao các thuộc tính này được lặp đi lặp lại, thì sẽ có giải thích kỹ lưỡng hơn về cách hoạt động của phép lặp mảng và 45Vòng lặp thứ hai tương tự như vòng lặp đầu tiên, nhưng nó sử dụng 76 để kiểm tra xem thuộc tính liệt kê được tìm thấy có phải là của riêng đối tượng hay không. e. không được thừa kế. Nếu có, thuộc tính được ghi lại. Thuộc tính 77, 78, 79 và 10 được ghi lại vì chúng là thuộc tính riêng. Thuộc tính 54 và 53 không được ghi lại vì chúng được kế thừaVòng lặp 7 lặp lại và ghi lại các giá trị mà 9, dưới dạng một mảng (có thể lặp lại), xác định sẽ được lặp lại. Các phần tử của đối tượng 59, 70, 71 được hiển thị, nhưng không có thuộc tính nào của đối tượng được hiển thị
Sự khác biệt giữa {} so với [] trong JavaScript là gì?{} là cách viết tắt để tạo một đối tượng trống . Có thể coi đây là cơ sở cho các loại đối tượng khác. Đối tượng cung cấp liên kết cuối cùng trong chuỗi nguyên mẫu có thể được sử dụng bởi tất cả các đối tượng khác, chẳng hạn như Mảng. [] là cách viết tắt để tạo một mảng trống.
{} nghĩa là gì trong JavaScript?Đó là một cách gán giá trị mặc định cho một biến trong JavaScript.
Tại sao [] == [] sai trong JavaScript?Vì [] tạo một mảng mới nên bạn đang so sánh một đối tượng mảng này với một đối tượng mảng khác . Nó không phải là nội dung của các mảng được so sánh, các tham chiếu đối tượng được so sánh. Chúng không bằng nhau vì nó không phải là cùng một đối tượng.
Sự khác biệt giữa mảng và đối tượng trong JavaScript là gì?Bạn nên sử dụng đối tượng khi muốn tên phần tử là chuỗi (văn bản). Bạn nên sử dụng mảng khi muốn tên phần tử là số . |