Esiste un modo per accedere direttamente a [[PrimitiveValue]] dei tipi di oggetti JavaScript, ad es. Stringa o numero?Come posso accedere direttamente al valore [[PrimitiveValue]] in JavaScript
risposta
C'è un modo per accedere direttamente a
[[PrimitiveValue]]
di tipi di oggetto JavaScript, ad es.String
oNumber
?
No, non c'è.
Il valore primitivo viene ottenuto da JS quando l'oggetto viene utilizzato in un contesto che richiede una primitiva e lo fa chiamando il metodo valueOf
sull'oggetto. I contesti che richiedono una primitiva, come menzionato nei commenti, includono +numberObj
, '' + stringObj
e "casting" tramite Number(numberObj)
. Si noti che costrutti come Object(false) && true
do non convertono l'oggetto booleano in primitivo, né lo if (Object(false))
(che quindi ha esito positivo).
Nota anche valueOf
può essere sovrascritto, nel qual caso non ci sono casi in cui il valore di base sottostante può o verrà recuperato.
In un certo senso, poiché per quanto riguarda lo standard ES6, [[Primitive Value]] è un algoritmo di conversione interno, non un risultato, prendendo un valore di input da elaborare e un argomento facoltativo che specifica il tipo preferito del valore restituito. L'algoritmo viene in genere utilizzato nella conversione automatica dei tipi e non sempre restituisce lo stesso tipo di dati per un determinato input.
Gli algoritmi [[Primitive Value]] possono essere suddivisi in standard ed esotici. L'approccio standard è quello di impostare il tipo di risultato preferito predefinito su "numero" se non fornito. Gli algoritmi esotici come implementati per Date Objects forniscono il proprio valore predefinito per il risultato della conversione.
Ovviamente la conversione di un oggetto String in un tipo di dati stringa (ad esempio "" + strObj) o un oggetto numero in un tipo di dati numerici (ad esempio + numObj) è banale se e quando necessario. Nella maggior parte dei casi è probabile che sia fatto automaticamente per te.
- 1. Come accedere al prototipo dell'oggetto in javascript?
- 2. Come accedere al valore di un ASPxTextBox da JavaScript
- 3. Consenti al livello Web di accedere direttamente al DAL?
- 4. Come posso accedere a memcached con Javascript?
- 5. Posso accedere al legame al momento di un'eccezione in Ruby
- 6. Come accedere direttamente all'API MongoDB da Mongoid?
- 7. Come accedere al valore dei parametri in Returns() usando FakeItEasy?
- 8. Come posso accedere al Contatore CPU Intel
- 9. Chiamare JavaScript direttamente da TypeScript
- 10. È possibile accedere al disco rigido direttamente da GPU?
- 11. Accedere al DIV interno con JavaScript
- 12. Laravel: come accedere al valore della sessione in AppServiceProvider?
- 13. Come accedere eccezioni in JavaScript
- 14. Perché non posso accedere direttamente alla matrice con indice?
- 15. Come posso accedere al valore della superclasse di un getter in una sottoclasse?
- 16. Come posso accedere dinamicamente all'ambito locale in javascript?
- 17. Come posso accedere agli elementi iframe con Javascript?
- 18. Come accedere al log in couchdb
- 19. Come posso usare `str.format` direttamente come` __repr__`?
- 20. Come posso accedere al mio ViewModel dal codice sottostante
- 21. Posso accedere al filesystem con Google NaCl?
- 22. Come accedere alle impostazioni di web.config direttamente nella pagina .aspx?
- 23. Paperclip for Rails: Posso accedere al modello?
- 24. Come accedere all'attributo del modello in Javascript
- 25. Come posso accedere al conteggio ref di un hash Perl?
- 26. come posso accedere al file logcat sul dispositivo
- 27. Accedere direttamente alle variabili membro o passare come parametro?
- 28. Come posso accedere al dizionario di controllo ortografico di Chrome?
- 29. Come accedere al riferimento API da Xcode?
- 30. Come posso accedere al blobstore nella nuova Google Cloud Console?
Accesso diretto per cosa? Ottenere/impostare valori? Implementare nuovi metodi? –
'String.prototype.toString()', 'Number.prototype.valueOf()' – Pointy
O meno codice: ''' + stringObj' e' + numberObj'. – RobG