atribuir um valor a uma propriedade se ela não existir

Uma maneira elegante de criar uma propriedade se ela ainda não existir em javascript:

var foo = {};

foo
.categories = foo.categories || []; //assigns empty array to the newly created 'categories' property.

foo
.tags = ['javascript'];
foo
.tags = foo.tags || []; //foo.tags retains the already assigned value.