Tiến hành thống kê các phím của các đối tượng javascript replay các phím theo thứ tự chèn:Phong cách chấp nhận được cho các thư viện Node.js có dựa vào thứ tự khóa đối tượng không?
> for (key in {'z':1,'a':1,'b'}) { console.log(key); }
z
a
b
Đây không phải là một phần của tiêu chuẩn, nhưng được thực hiện rộng rãi (như đã thảo luận here):
ECMA- 262 không chỉ định thứ tự liệt kê. Các tiêu chuẩn thực tế là để phù hợp với thứ tự chèn, mà V8 cũng có, nhưng với một ngoại lệ:
V8 không đảm bảo về thứ tự liệt kê cho chỉ mục mảng (nghĩa là, một tài sản tên có thể được phân tích thành 32 -bit số nguyên không dấu).
Thực tiễn có thể chấp nhận dựa trên hành vi này khi xây dựng thư viện Node.js không?
tôi thường cố gắng tránh dựa vào bất kỳ hành vi cụ thể nào khi nói đến JS. – zzzzBov
Không, không phải. Trường hợp sử dụng của bạn là gì? – georg
Tôi đã nhìn thấy phong cách này trong một số thư viện nút và muốn kiểm tra với cộng đồng trước khi tôi phát triển các nhà phát triển. Ví dụ, thư viện Dynamo node.js (thương hiệu mới), lấy một đối số lược đồ của hai khóa mà thứ tự là quan trọng. Đầu tiên chỉ định "băm" và thứ hai chỉ định "dải ô". –