La forma más segura de crear una matriz de enteros desde 1..20 en JavaScript

¿Cuál sería la mejor manera de crear esta matriz:

var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
         11, 12, 13, 14, 15, 16, 17, 18, 19, 20];

Por ejemplo, unafor lazo

var x = [];
for (var i=1;i<=20;i++) {
  x.push(i);
}

O unwhile lazo

var x = [], i = 1, endInt = 20;
while (i <= endInt) {
  x.push(i);
  i++;
}

¿Habría otros ejemplos que serían terser, en otras palabras, menos código? Estoy pensando en cosas como en Ruby, donde creo que el código equivalente sería tan simple como1..20. No conozco una sintaxis como esa en JavaScript, pero me pregunto si hay formas más cortas de hacer lo mismo.

ACTUALIZAR No estaba pensando en eliminar puntos y comas ovar para respuestas en la pregunta, pero tengo que admitir que la pregunta implica eso. Tengo más curiosidad acerca de los algoritmos que afeitar bytes. Lo siento si no estaba claro! Además, convertirlo en una función es bastante simple, solo abofetear afunction range(start, end) { /* guts here */ } alrededor y estás ahí. La pregunta es si hay enfoques novedosos para las "entrañas".