Các đối tượng JavaScript có một số quy tắc thú vị về những gì sẽ và không hoạt động như một khóa đối tượng. Đây là thông tin chi tiết về các thuộc tính đối tượng có khoảng trắng
“Thiên thần đã mất”. Khóa đối tượng JS hợp lệ?
Các đối tượng JavaScript là tập hợp các cặp khóa-giá trị, trong đó mỗi khóa đối tượng [còn được gọi là thuộc tính đối tượng] có một giá trị cụ thể
Các khóa đối tượng là các chuỗi [hoặc ký hiệu], nhưng các giá trị có thể là tất cả các loại khác nhau, bao gồm cả mảng và đối tượng
Nếu bạn cần sử dụng bất kỳ loại nguyên thủy nào [hoặc tham chiếu đối tượng] làm khóa đối tượng, bạn nên sử dụng Map
thay vì đối tượng
Chúng tôi thường viết các thuộc tính đối tượng JavaScript bằng cách sử dụng camelCase, không có dấu cách, nhưng bạn có thể sử dụng dấu cách trong các khóa nếu muốn. Chỉ cần đảm bảo bao gồm dấu ngoặc kép để chỉ định chuỗi bạn đang sử dụng làm khóa đối tượng
Đây là một ví dụ mã về khóa đối tượng JavaScript có chứa khoảng trắng, myObject["hello Bill"]
Xem mã thô dưới dạng GitHub Gist
Bạn phải sử dụng trình truy cập thuộc tính dấu ngoặc vuông []
để truy cập các khóa đối tượng có dấu cách, giống như bạn sẽ làm nếu khóa đối tượng được lưu trữ dưới dạng tên biến. Ví dụ cho thấy cả hai trường hợp
Trình truy cập thuộc tính cú pháp dấu chấm .
sẽ không hoạt động với các khóa đối tượng chứa khoảng trắng, nhưng nó hoạt động với các biến camelCase
Theo nghĩa này, các biến dấu gạch nối [còn được gọi là kebab case hoặc kebab-case] như my-variable
có chức năng giống như các khóa đối tượng có dấu cách. bạn phải sử dụng cú pháp dấu ngoặc []
Mặt khác, JavaScript cho rằng dấu gạch nối là toán tử trừ [-
], đây không phải là điều bạn muốn ở đây
Các biến có dấu gạch dưới [còn gọi là trường hợp rắn hoặc trường hợp rắn] hoạt động giống như trường hợp lạc đà, mà không gây ra bất kỳ lỗi nào
Xem mã thô dưới dạng GitHub Gist
Mặc dù Bill có thể cảm thấy khá hài lòng về việc trở thành undefined
trong ví dụ này [“Don’t box me in!” — Bill
], nhưng hãy lưu ý dấu cách và dấu gạch nối khi làm việc với các khóa đối tượng JavaScript
Nếu không, bạn có thể kết thúc với SyntaxError
và myObject["hello Bill"]
0 vì tên thuộc tính không hợp lệ
Khi bạn đang viết một khóa đối tượng có chứa khoảng trắng, bạn sử dụng ký tự trích dẫn nào có quan trọng không?
Sự khác biệt thực sự giữa dấu ngoặc đơn [‘ ’] và dấu ngoặc kép [“ ”] trong JavaScript
Tôi có nên sử dụng ‘ ’ hoặc “ ” cho các chuỗi trong JavaScript không? . một trong hai ký tự trích dẫn giống hệt nhau ngoại trừ…
trung bình. com
Trong thế giới thực, ký tự bạn sử dụng cho chuỗi phải được đặt trong tệp cấu hình Prettier của bạn. myObject["hello Bill"]
3 có thể đọc myObject["hello Bill"]
4 ở định dạng JSON
Giá trị mặc định trong myObject["hello Bill"]
5 là sai đối với myObject["hello Bill"]
6, nghĩa là myObject["hello Bill"]
2 là cài đặt mặc định cho Đẹp hơn. luôn luôn sử dụng dấu ngoặc kép. Prettier sẽ tự động định dạng mã của bạn dựa trên sở thích đó. [Định dạng mã cải thiện tính nhất quán trong các cam kết Git. ]
Bạn cũng có thể định cấu hình Đẹp hơn trong cài đặt Mã VS của mình
Cách thiết lập mã VS như một chuyên gia chỉ trong 5 phút
Hướng dẫn cho người mới bắt đầu
trung bình. com
Vì bạn nên sử dụng một trình định dạng mã như Prettier, điều đó có nghĩa là nếu bạn nhập một ký tự trích dẫn [myObject["hello Bill"]
2], bạn sẽ tự động nhận được ký tự kia [myObject["hello Bill"]
1] sau khi định dạng — vì vậy bạn nhập ký tự nào thực sự không quan trọng
Hoặc bạn có thể sử dụng ký tự backtick []
0 để tạo khóa đối tượng có khoảng trắng, điều này sẽ cho phép bạn sử dụng phép nội suy biến
3 ưu điểm của ký tự backtick [``] trong JavaScript
Các “chuỗi ưa thích” này nội suy các biến, tránh phải thoát các ký tự trích dẫn và cho phép các chuỗi nhiều dòng…
thebittheories. com
Như bạn có thể biết, sẽ không có bất kỳ sự khác biệt nào nếu bạn sử dụng dấu gạch ngược [[]
1] trong ví dụ đầu tiên
Cách cuối cùng bạn có thể tạo khóa đối tượng có khoảng trắng là sử dụng kiểu dữ liệu nguyên thủy []
2, cách khác để đặt khóa đối tượng ngoài các chuỗi mà chúng ta đã thảo luận
Có, bạn có thể sử dụng một []
3 được tạo từ một chuỗi khóa đối tượng có chứa một khoảng trắng, nhưng theo định nghĩa, mỗi []
3 là duy nhất, vậy vấn đề sẽ là gì?
Khóa đối tượng là chuỗi
Quay trở lại vấn đề hiện tại, bạn chỉ cần nhớ sử dụng các chuỗi và ký hiệu dấu ngoặc vuông []
nếu bạn muốn các khóa đối tượng JavaScript của mình có khoảng trắng. []
7
Các khóa đối tượng có dấu gạch dưới và camelCase [không có dấu cách] không yêu cầu cú pháp dấu ngoặc, nhưng các khóa đối tượng có dấu cách và dấu gạch nối thì cần
Bạn có thể thích khả năng đọc mã của cú pháp dấu chấm .
hơn, trong trường hợp đó, bạn sẽ muốn tránh khoảng trắng trong các khóa đối tượng của mình. bạn có thể viết []
9 dưới dạng camelCase thay vì .
0 với khoảng trắng
Vì bạn rõ ràng phải sử dụng các chuỗi và []
để tạo các khóa đối tượng có khoảng trắng, nên một trình định dạng mã như Prettier sẽ đưa ra quyết định cho bạn về việc bạn đang sử dụng ký tự trích dẫn nào… trừ khi bạn thích backticks hơn
Tôi hy vọng hướng dẫn này đã giúp bạn hiểu mối quan hệ giữa khóa đối tượng và chuỗi và tại sao đôi khi [như với khoảng trắng] bạn cần sử dụng ký tự trích dẫn khi chỉ định khóa đối tượng trong JavaScript
Mã hóa vui vẻ. 🌌🛰🚀🚀🚀
Tiến sĩ. Derek Austin là tác giả của Lập trình nghề nghiệp. Làm thế nào bạn có thể trở thành một lập trình viên có thân hình 6 con số thành công trong 6 tháng, hiện đã có trên Amazon