can-map.js
function (attr) {
			if (attr !== undefined) {
				var computedAttr = this._computedAttrs[attr];
				if (computedAttr) {
					// return computedAttr.compute();
					return canReflect.getValue(computedAttr.compute);
				} else {
					return hasOwnProperty.call(this._data, attr) ? this._data[attr] : undefined;
				}
			} else {
				return this._data;
			}
		}
function (attr) {
			if (attr !== undefined) {
				var computedAttr = this._computedAttrs[attr];
				if (computedAttr) {
					// return computedAttr.compute();
					return canReflect.getValue(computedAttr.compute);
				} else {
					return hasOwnProperty.call(this._data, attr) ? this._data[attr] : undefined;
				}
			} else {
				return this._data;
			}
		}
function ( attr ) { if ( attr !== undefined ) { var computedAttr = this . _computedAttrs [ attr ] ; if ( computedAttr ) { // return computedAttr.compute(); return canReflect . getValue ( computedAttr . compute ) ; } else { return hasOwnProperty . call ( this . _data , attr ) ? this . _data [ attr ] : undefined ; } } else { return this . _data ; } }
### ___get When called with an argument, returns the value of this property. If that property is represented by a computed attribute, return the value of that compute. If no argument is provided, return the raw data.
### ___get When called with an argument returns the value of this property . If that property is represented by a computed attribute return the value of that compute . If no argument is provided return the raw data .