result() | Underscore JS 日本語リファレンス

第1引数 object に対して第2引数をkey値としたその値が関数でないなら、そのまま値を返し、第2引数をkey値としたその値が関数なら this を第1引数にして返します。

■使用例

var obj = {
	author : "TM Network",
	works : "CAROL",
	works2 : "Dress",
	works4 : "Self Control",
	works5 : "Rhythm Red",
	works6 : "Expo",
	works7 : "Twinkle Night",
	works8 : "GORILLA",
	funks : function(){
		return _.functions( this );
	}
};
// re = [ "funks" ];
var re = _.result( obj, "funks" );
// re2 = "CAROL";
var re2 = _.result( obj, "works" );

■内部構造

_.result = function(object, property, fallback) {

// 第1引数が null なら value = undefined;
    var value = object == null ? void 0 : object[property];
    
    if (value === void 0) {
// 第1引数が null なら第3引数が返される。 	
      value = fallback;
    }

// value が関数なら value.call( object );    
    return _.isFunction(value) ? value.call(object) : value;
};

このページのトップへ戻る