Javascript 这两种对象声明方式之间有什么区别?
我只是想知道这些JSON对象声明方式之间是否有任何区别,或者它们做的是相同的事情?声明对象的标准推荐方式是什么 根据我的测试,他们都给出了相同的结果Javascript 这两种对象声明方式之间有什么区别?,javascript,json,Javascript,Json,我只是想知道这些JSON对象声明方式之间是否有任何区别,或者它们做的是相同的事情?声明对象的标准推荐方式是什么 根据我的测试,他们都给出了相同的结果 let data1 = { "record_1": [1,2,3], "record_2": [4,5,6] } let data2 = { record_1: [1,2,3], record_2: [4,5,6] } console.log(data1); console.log(data2); console.log(dat
let data1 = {
"record_1": [1,2,3],
"record_2": [4,5,6]
}
let data2 = {
record_1: [1,2,3],
record_2: [4,5,6]
}
console.log(data1);
console.log(data2);
console.log(data1.record_1);
console.log(data2.record_1);
console.log(data1.record_2);
console.log(data2.record_2);
console.log(JSON.stringify(data1));
console.log(JSON.stringify(data2));
输出:
{
record_1:(3) [...],
record_2:(3) [...]
}
{
record_1:(3) [...],
record_2:(3) [...]
}
(3) [
1,
2,
3
]
(3) [
1,
2,
3
]
(3) [
4,
5,
6
]
(3) [
4,
5,
6
]
{"record_1":[1,2,3],"record_2":[4,5,6]}
{"record_1":[1,2,3],"record_2":[4,5,6]}
这两个声明在Javascript中都是有效的
let data1 = {
"record_1": [1,2,3],
"record_2": [4,5,6]
}
let data2 = {
record_1: [1,2,3],
record_2: [4,5,6]
}
但对于JSON,data2是无效的JSON语法。您可以在
另一个差异如下所示:
var obj = { "some key" : "Val" }; // Valid in JS
var obj = { some key : "Val" }; // invalid in JS
因此,对于JS来说,这两种减速在不同的情况下起着不同的作用。通常,data2类型声明被广泛使用。这两种声明在Javascript中都是有效的
let data1 = {
"record_1": [1,2,3],
"record_2": [4,5,6]
}
let data2 = {
record_1: [1,2,3],
record_2: [4,5,6]
}
但对于JSON,data2是无效的JSON语法。您可以在
另一个差异如下所示:
var obj = { "some key" : "Val" }; // Valid in JS
var obj = { some key : "Val" }; // invalid in JS
因此,对于JS来说,这两种减速在不同的情况下起着不同的作用。通常,data2类型声明被广泛使用。对象的属性名称为string类型,如果您提供任何其他类型,则会自动转换为string var obj={1:one} var keyName=Object.keysobj[0];
log`key Name${keyName},类型为${typeof keyName}` 对象的属性名称为string类型,如果提供任何其他类型,则会自动转换为string var obj={1:one} var keyName=Object.keysobj[0];
log`key Name${keyName},类型为${typeof keyName}` 它们本质上是一样的。一个区别是,当使用引号时,可以使用特殊字符作为键
// invalid
const noQuotes = {
key with spaces: 123
}
// valid
const withQuotes = {
"key with spaces": 123
}
它们本质上是一样的。一个区别是,当使用引号时,可以使用特殊字符作为键
// invalid
const noQuotes = {
key with spaces: 123
}
// valid
const withQuotes = {
"key with spaces": 123
}
第一个主要用于属性,这将导致无效语法:{i have spaces and:colons:value}。第一个主要用于属性,这将导致无效语法:{i have spaces and:colons:value}