@param {type} name // describe a parameter @optional // to say argument 'name' doesn't need to be defined @return {type} // define what a function should return (omit for void funcs) @const // declare that a value should not be reassigned to @deprecated // declare that a function shouldn't be used any more @constructor // declare constructor @interface // declare interface @implement name // declare implementing an interface @extends name // declare extending a class @param {String|Number} name // define a param as a String or number @param {{myNum: number, kitten: String}} config // define a param as obj literal @param {!Object} name // describe a parameter as being non-nullable object