What differences between these two ways of object declaration?

Louis Tran :

I was just wondering if there are any differences between these ways of JSON object declaration or they do the same thing? What is the standard (recommended) way to declare an object?

According to my test, they both give the same result.

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));

Output:

{
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]}
Shashank Vivek :

Both of the declarations are valid in 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]
}

but when it comes to JSON , data2 is invalid JSON syntax. You can verify at https://jsonlint.com/

One more diff is as below:

var obj = { "some key" : "Val" };  // Valid in JS

var obj = { some key : "Val" }; // invalid in JS

So for JS , both of these deceleration plays different role depending on the situation. Normally, data2 type declaration is widely used.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=220798&siteId=1