[]
is for arrays and {}
is for plain objects. Note that an array is an object with a number of methods and properties that allow to model lists (e.g. push, slice, ...).
As pointed out in the MDN documentation, you shouldn't use an array as an associative array, i.e. arrays are not to be used as hash tables.