Counting months from zero

Many programming languages start counting months one number before we would, which sounds odd at first. It’s like saying January is “month zero” and December is “month eleven”.

const months = [
  'January', 'February', 'March',     'April',   'May',      'June',
  'July',    'August',   'September', 'October', 'November', 'December'
]

// `.length` tells us how many months there are in a year.
months.length // ⇒ 12

// Counting in an array start at 0, so the months are numbered from 0 to 11.
// A year still has 12 months, but we need to shift their index down by 1.

// While January is the 1st month for us, it’s the 0th element in the array.
months[0] // ⇒ 'January'

// The index of December is also one less than what we would say.
months[11] // ⇒ 'December'

// The month at the index 12 would be the 13th month, which does not exist.
months[12] // ⇒ undefined

There is more to learn

Get free previews of my upcoming course materials and other bonus content to help you work smarter. I share tips straight to your inbox once a week. You can read previous mails in the newsletter archive.

Cannot show form because cookie consent was not given.