Khóa đối tượng javascript có thể là một chuỗi không?

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 SyntaxErrormyObject["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

Thuộc tính đối tượng JavaScript có thể là chuỗi không?

Trong cú pháp đối tượng[biểu thức], biểu thức sẽ đánh giá thành một chuỗi hoặc Ký hiệu đại diện cho tên của thuộc tính. Vì vậy, nó có thể là bất kỳ chuỗi ký tự nào , ví dụ, bao gồm '1foo' , '. quán ba. ' , hoặc thậm chí '' [một khoảng trắng].

Một chuỗi có thể là một chìa khóa?

Chuỗi là khóa của HashMap .

Khóa đối tượng có chuyển đổi thành chuỗi không?

Nếu khóa của bạn không phải là một chuỗi, JavaScript sẽ chuyển đổi nó thành một chuỗi khi bạn sử dụng nó làm tên thuộc tính . Lưu ý rằng nếu bạn không cung cấp toString , thì các khóa sẽ là chuỗi "[object Object]".

Có phải tất cả các khóa trong một chuỗi đối tượng?

Đúng hay sai. Tất cả các khóa trong đối tượng đều là chuỗi . Giải trình. các khóa chỉ có thể là chuỗi và các khóa số, chẳng hạn như các khóa được sử dụng trong Mảng được ép buộc và lưu trữ dưới dạng chuỗi.

Chủ Đề