Hướng dẫn can object key be string javascript? - khóa đối tượng có thể là chuỗi javascript không?

Đối với những người đã làm việc với JavaScript trong một thời gian, bạn sẽ hiểu có những hành vi nhất định về ngôn ngữ khiến nó có vẻ như nó hoạt động theo một cách nhất định, trong thực tế, nó không, chẳng hạn như sử dụng == và == Để kiểm tra sự bình đẳng giữa hai giá trị khác nhau.

Đối với những gì nhiều người nghĩ, các khóa đối tượng JavaScript không thể là các giá trị loại, boolean, null hoặc không xác định. Các phím đối tượng chỉ có thể là chuỗi và mặc dù nhà phát triển có thể sử dụng các loại dữ liệu khác để đặt khóa đối tượng, JavaScript tự động chuyển đổi các phím thành một chuỗi giá trị.JavaScript object keys cannot be Number, Boolean, Null, or Undefined type values. Object keys can only be strings, and even though a developer can use other data types to set an object key, JavaScript automatically converts keys to a string a value.

Là các kỹ sư, nhà phát triển, lập trình viên hoặc người đam mê giỏi, bạn nên cố gắng không tin tưởng này, mà thay vào đó, hãy kiểm tra ngôn ngữ. Đó là lý do tại sao tôi xác nhận quan điểm của mình bằng cách chạy một loạt các thử nghiệm nhanh với JavaScript

  • Phím đối tượng thử nghiệm trong JavaScript
    • Truy cập các giá trị bằng cách sử dụng thuộc tính của Square Brackets
  • Hiểu tại sao
      • Truy cập các giá trị bằng cách sử dụng trình truy cập thuộc tính dot hoặc gán các giá trị bằng cách sử dụng phá hủy đối tượng
      • Tại sao nó hoạt động bằng cách sử dụng Trình truy cập tài sản Square Brackets?
  • Các trường hợp khác gây ra sự nhầm lẫn
  • Sự kết luận

Phím đối tượng thử nghiệm trong JavaScript

Truy cập các giá trị bằng cách sử dụng thuộc tính của Square Brackets



var test = { 1: 'Number One' };


Hiểu tại sao

Hướng dẫn can object key be string javascript? - khóa đối tượng có thể là chuỗi javascript không?

Truy cập các giá trị bằng cách sử dụng thuộc tính của Square Brackets

Hiểu tại sao



console.log(test[1]);  // it displays "Number One"


Hiểu tại sao

Truy cập các giá trị bằng cách sử dụng trình truy cập thuộc tính dot hoặc gán các giá trị bằng cách sử dụng phá hủy đối tượng

Truy cập các giá trị bằng cách sử dụng trình truy cập thuộc tính dot hoặc gán các giá trị bằng cách sử dụng phá hủy đối tượng

Tại sao nó hoạt động bằng cách sử dụng Trình truy cập tài sản Square Brackets?



// Attempt using the Dot property accessor
console.log(test.1); // it will fail

// First attempt using object destructuring
var { 1 } = test; // it will fail as 1 it is not a correct identifier

// Second attempt using object destructuring
var { 1 : number } = test; // it will succeed
console.log(test.number);  // it displays "Number One"

Các trường hợp khác gây ra sự nhầm lẫn

Tại sao nó hoạt động bằng cách sử dụng Trình truy cập tài sản Square Brackets?

Các trường hợp khác gây ra sự nhầm lẫn



console.log(test[1]);  // it displays "Number One"

Sự kết luận



console.log(test['1']); // it also displays "Number One"

Dựa trên định nghĩa của tôi, tôi không thể xác định khóa bằng cách sử dụng kiểu dữ liệu khác với chuỗi. Hãy để tiếp tục và thử tạo đối tượng sau:

Các trường hợp khác gây ra sự nhầm lẫn

Sự kết luận



var test = {
  true: 'True Boolean',
  false: 'False Boolean',
  null: 'Null data type',
  undefined: 'Undefined data type'
};

// it will succeed displaying all the object properties when using 
// square brackets or Dot property acccessors
console.log(test[true]);
console.log(test.true);
console.log(test[false]);
console.log(test.false);
console.log(test[null]);
console.log(test.null);
console.log(test[undefined]);
console.log(test.undefined);

Dựa trên định nghĩa của tôi, tôi không thể xác định khóa bằng cách sử dụng kiểu dữ liệu khác với chuỗi. Hãy để tiếp tục và thử tạo đối tượng sau:

Hướng dẫn can object key be string javascript? - khóa đối tượng có thể là chuỗi javascript không?

Sự kết luận

Dựa trên định nghĩa của tôi, tôi không thể xác định khóa bằng cách sử dụng kiểu dữ liệu khác với chuỗi. Hãy để tiếp tục và thử tạo đối tượng sau:

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

Các phím đối tượng chỉ có thể là chuỗi và mặc dù nhà phát triển có thể sử dụng các loại dữ liệu khác để đặt khóa đối tượng, JavaScript tự động chuyển đổi các phím thành một chuỗi giá trị., and even though a developer can use other data types to set an object key, JavaScript automatically converts keys to a string a value.

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

Mỗi khóa trong đối tượng JavaScript của bạn phải là một chuỗi, ký hiệu hoặc số..

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

Đối tượng là các mảng kết hợp với một số tính năng đặc biệt.Chúng lưu trữ các thuộc tính (các cặp giá trị khóa), trong đó: Khóa thuộc tính phải là chuỗi hoặc ký hiệu (thường là chuỗi).Property keys must be strings or symbols (usually strings).

Một đối tượng có thể là một khóa trong JavaScript?

Bạn có thể sử dụng các đối tượng làm khóa đối tượng trong JavaScript không?# Câu trả lời ngắn gọn là không".Tất cả các phím đối tượng JavaScript là chuỗi.All JavaScript object keys are strings.