Sự khác nhau giữa hai cách khai báo key trong đối tượng Javascript

Có một câu hỏi khá phổ biến mà nhiều bạn học Javascript thắc mắc đó là cách khai báo key có dấu " và không dấu " trong Javascript có gì khác nhau. 

Ví dụ: 

var blog = {
    "author" : "Nguyễn Văn Cường",
    "domain" : "freetuts.net"
};

var blog = {
    author : "Nguyễn Văn Cường",
    domain : "freetuts.net"
};

Bài giải

-------------------- ######## --------------------

Thông thường mình hay khai báo key là không có dấu " bởi vì như vậy trong đẹp hơn. Tuy nhiên sẽ có trường hợp chúng ta bắt buộc phải sử dụng dấu " để khai báo key.

Ví dụ:

var blog = {
    "author-name" : "Nguyễn Văn Cường",
    "domain-name" : "freetuts.net"
};

Trong ví dụ nay thì hai key author-namedomain-name sử dụng dấu - để ngăn cách, vì vậy ta bắt buộc phải sử dụng dấu nháy để bao quanh nó. 

Để lấy hay key trên thì ta phải sử dụng cú pháp sau:

blog['author-name'];
blog['author-name'];

Lấy như cách dưới đây là sai:

blog.author-name; // Sai
blog.author-name; // Sai

Vậy tóm lại trường hợp key có sử dụng ký tự đặc biệt thì bạn bắt buộc sử dụng dấu nháy đơn hoặc nháy kép để bao quanh chúng.

Nguồn: freetuts.net

Câu hỏi và bài tập