function deepGet( obj, path ) {
			path = regularizePath( path );
			let length = path.length;
			for ( var i = 0; i < length; i++ ) {
				if ( obj == null ) {return void 0;}
				obj = obj[path[i]];
			}
			return length ? obj : void 0;
		}
/**
		 * Gets a property far down the property chain.
		 * @param {Object} obj The object to get the deep property from.
		 * @param {Array.<string>|string} path The path to the property.
		 * @returns {*} The property
		 * @memberof XtraUtils.Object#
		 * @example
		 * // returns 2
		 * let obj = {
		 *   a: 1,
		 *   others: {
		 *		 b: 2
		 *   }
		 * };
		 * obj.deepGet(['others','b']);
		 * @example
		 * // returns 2
		 * let obj = {
		 *   a: 1,
		 *   others: {
		 *		 b: 2
		 *   }
		 * };
		 * obj.deepGet('.others.b');
		 */
Gets a property far down the property chain.
@param {Object} obj The object to get the deep property from.
@param {Array.|string} path The path to the property.
Gets a property far down the property chain . @param { Object } obj The object to get the deep property from . @param { Array . |string } path The path to the property .
function deepGet( obj, path ) {
			path = regularizePath( path );
			let length = path.length;
			for ( var i = 0; i < length; i++ ) {
				if ( obj == null ) {return void 0;}
				obj = obj[path[i]];
			}
			return length ? obj : void 0;
		}
function deepGet ( obj , path ) { path = regularizePath ( path ) ; let length = path . length ; for ( var i = 0 ; i < length ; i ++ ) { if ( obj == null ) { return void 0 ; } obj = obj [ path [ i ] ] ; } return length ? obj : void 0 ; }
Gets a property far down the property chain.
Gets a property far down the property chain .