CoffeeScript Existential operator

by justinwyllie

CoffeeScript

obj = {
	foo: {bar: 'bar'}
}
  
console.log obj.foo?.bar # 'bar'
console.log obj.foo?.que # undefined
console.log obj.woo?.bar # undefined

console.log obj.woo? # false
console.log obj.foo?.bar? # true
console.log obj.foo? {bar: 'bar'} # true

console.log undefined? #false
console.log false? #true
console.log null? #false

console.log '--'
console.log null? #false
delete undefined #no error