Introduction
Literal notation is a form of array declaration introduced in JavaScript 1.2 and above. Like the language version, it's supported by 4th+ generations of browsers.
To declare a literal array in JavaScript, start out with square brackets, then enclose each participating value inside, separated by commas:
var myarray=["Joe", "Bob", "Ken"]
Once declared, a literal notation behaves very much like a normal array, so to call Joe
, you would use:
alert(myarray[0])
At this point, we can all discern at least one merit of literal notation - its compact syntax. Literal notation puts even dense arrays to shame when it comes to quickly declaring an array and populating it with values.
Ok, moving on, let's explain the kind of values literal notation supports. Apart from the obvious "string
" and "numeric" input, you can also use expressions:
var myarray=[x+y, 2, Math.round(z)]
If you can't make up your mind what to enter, undefined values are accepted too, by using a comma (') in place of the value:
var myarray=[0,,,,5]
In the above, there are actually six array values, except the ones in the center are all undefined. This is useful, for example, if you wish to come back later to dynamically fill in these values, or set up your array for future expansion.
Creating multi-dimensional arrays using literal notation
The thing about defining multi-dimensional arrays using the standard syntax is that we're often the ones taken into the next dimension before the process is over. Or is it just me? At any rate, literal notation simplifies things for everyone, as it supports nesting of other literal notation. This makes defining multi-dimensional arrays extremely easy and intuitive. The following example uses literal notation to define an array with three elements, the 1st element being a two dimensional array:
var myarray=[["New York", "LA", "Seattle"], China, Japan]
Yes, it's that easy. By merely using another literal notation as one of the array values, we add a 2nd dimension to that particular element. Let's go to "LA
" shall we:
myarray[0][1]
Just to demonstrate literal notation's versatility in this respect, here's an array with its first element in turn being a three dimensional array:
var myarray=[[[2,4,6]], China, Japan]
Just remember, the more brackets you use, the deeper the hole you dig!