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 // ⇒ 'January' // The index of December is also one less than what we would say. months // ⇒ 'December' // The month at the index 12 would be the 13th month, which does not exist. months // ⇒ undefined