risposta
che possono dipendere su quale versione del compilatore CoffeeScript stai usando. Nell'ultima versione stabile (1.3.3), una proprietà "nome" non viene generata per impostazione predefinita.
class Foo
compila in
var Foo;
Foo = (function() {
function Foo() {}
return Foo;
})();
Poiché la proprietà name
non è standard e attualmente non supportata da IE, non si può davvero contare su di esso cross-browser. Informazioni dettagliate su questo sono disponibili presso il MDN: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/Name
Stai suggerendo che una versione successiva o precedente genererebbe una proprietà nome? C'è anche qualche flag che sovrascrive questo default o devi aggiungere tu stesso la proprietà. –
Penso che sia stato effettivamente rimosso, quindi nelle versioni precedenti si potrebbe ancora trovare questo comportamento, sì. – Niko
dall'interno di qualsiasi metodo della classe Foo
che è incluso in Foo.prototype
, è possibile inserire la linea
console.log @constructor.name
e scriverà
Foo
al registro della console. HTH.
Ora è chiaro (vedere la fine di https://github.com/jashkenas/coffee-script/issues/2052) che non è supportato. Vai e chiedilo se lo vuoi anche tu! –
- 1. Come ottenere il nome di una classe senza il pacchetto?
- 2. Come ottenere il nome di una proprietà di classe?
- 3. Esecuzione di una classe CoffeeScript su document.ready
- 4. Istanziare una classe CoffeeScript da un nome classe in una stringa
- 5. Come posso ottenere il nome di una classe Ruby?
- 6. Come ottenere il nome di una classe Mootools da
- 7. Ottieni il tipo di classe in CoffeeScript
- 8. Ottieni il nome completo di una classe?
- 9. ottenere il nome file della classe estesa
- 10. Classe Singleton in coffeescript
- 11. CoffeeScript Classe Membri
- 12. Esportare una classe da un file Coffeescript
- 13. Come posso ottenere il nome dell'unità di una classe se ho l'indirizzo di classe/VMT solo
- 14. Come ottenere il nome classe figlio dalla classe genitore
- 15. ottenere assembly per nome classe
- 16. come ottenere il nome della classe derivata dalla classe base
- 17. Ottenere il nome della tabella di classe di entità
- 18. Come ottenere il nome di una funzione?
- 19. Voglio ottenere il nome di interfaccia dalla classe di implementazione
- 20. Ottenere il nome della classe corrente incluso il pacchetto
- 21. Nome del Design Pattern: ottenere classe da livello di classe
- 22. Come trovare rapidamente il nome completo di una classe
- 23. file Nodo di classe CoffeeScript e l'eredità
- 24. C'è un modo per ottenere il nome classe di una classe derivata QObject senza creare un'istanza di quella classe?
- 25. Ottenere l'ultimo elemento di una matrice in CoffeeScript
- 26. Ottieni il nome classe dalla classe estesa
- 27. Ottieni il nome completo di una classe Python (Python 3.3+)
- 28. Ottieni il nome classe dall'oggetto Classe
- 29. Java: una classe parent può recuperare staticamente il nome classe di una classe figlio?
- 30. Possiamo creare una classe con il nome "classe"?
Codice miniato WRT: dipende in realtà dal minificatore e dalla configurazione che si passa ad esso. La maggior parte può essere configurata per non toccare le istruzioni di funzione denominate (come '--no-mangle-functions' di UglifyJS), quindi la proprietà' name' dovrebbe funzionare correttamente (a meno che il browser non la supporti affatto). Naturalmente, con la proprietà CoffeeScript definisce manualmente dal 1.3.3, dovrebbe sempre funzionare indipendentemente dalla minificazione (come aggiunta come proprietà letterale stringa semplice) – shesek