JavaScript Arrays: The Difference Between [] and {}
![JavaScript Arrays: The Difference Between [] and {}](https://sabe.io/blog/javascript-arrays-brackets-braces/hero.png)
In this post, we'll learn about the difference between []
and {}
in JavaScript arrays.
Specifically, we'll learn about the difference between the two following examples:
const fruits = ["apple", "banana", "orange"];
const fruits = {
0: "apple",
1: "banana",
2: "orange"
};
What is an array?
Before we get into the details, let's first understand what an array is.
An array is a collection of data that is ordered and can be accessed by a numerical index.
Because JavaScript is flexible, an array can contain any type of data, including numbers, strings, objects, and even functions.
Square Brackets []
In JavaScript, you can use square brackets to create an array. The following is an example of an array:
const array = ["apple", "banana", "orange"];
Because it is an array, you can call the length
property on it to get the number of items in the array.
const array = ["apple", "banana", "orange"];
console.log(array.length); // 3
Another way to create an array is to use the Array()
constructor.
const array = new Array("apple", "banana", "orange");
In all three cases, you'll have an array.
Curly Braces {}
Curly braces in JavaScript are used to create an object, not an array. Let's look at our earlier example:
const fruits = {
0: "apple",
1: "banana",
2: "orange"
};
This is an object, where the keys are the numerical indices and the values are the strings.
Because it's an object and not an array, you cannot call the length
property on it.
const fruits = {
0: "apple",
1: "banana",
2: "orange"
};
console.log(fruits.length); // undefined
It returns undefined
because objects don't have a length
property.
Conclusion
So to summarize the difference, the difference between []
and {}
is that []
is an array and {}
is an object.
Each one is different and so have different properties and behaviors. Make sure to use the right one despite their similar syntax!
If you want to learn about web development, founding a start-up, bootstrapping a SaaS, and more, follow me on Twitter! You can also join the conversation over at our official Discord!
Leave us a message!