2017-09-26 2 views
0

Ich kann nicht finden, wo/wie die _.isString-Methode in underscore.js implementiert ist. Ich bin einfach neugierig zu sehen, wie es umgesetzt wird, aber es ist ein Rätsel für mich.Wo ist Unterstrich _.isString Funktion?

Ich weiß, es gibt viel bessere Möglichkeiten zu überprüfen, ob ein Objekt eine Zeichenfolge ist, was nicht meine Frage ist, ich bin einfach neugierig, wie die _.isString() -Methode funktioniert, wenn sie nicht in der Quelle ist .

Denn hier Referenz ist die Strich Quelle: http://underscorejs.org/underscore.js

Antwort

2

Wenn Sie eine ctrl + f für "IstZeichenfolge" es ist etwa 80% der Art und Weise tun, nach unten:

// Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError. 
_.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) { 
    _['is' + name] = function(obj) { 
    return toString.call(obj) === '[object ' + name + ']'; 
    }; 
}); 

_.isString expandiert nach:

_.isString = function(obj) { 
    return toString.call(obj) === '[object String]' 
} 
+1

Es ist einfach, den Quellcode direkt zu verweisen ~ https://github.com/jashkenas/underscore/blob/master/underscore.js#L1319 – Phil

+1

Danke! Habe nicht gemerkt, dass sie solche Funktionen erzeugen. Ich dachte, es gäbe eine Zauberei für eine Weile. –

+0

Ich bin froh, dass sie es in die Kommentare geschrieben haben, als ich das ein paar Mal gesehen habe. :) zu viel magie kann zu verwirrung auf kosten der erhaltung von bytes führen. – Phix

Verwandte Themen