function deepGet(obj, path) {
			path = regularizePath(path);
			var 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);
			var 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 ) ; var 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 .