L'autovivificazione ha solo a che fare con le strutture non definite "derefencing", perché in JavaScript se si specifica un indice o una proprietà che non esiste non la creerà dinamicamente? Ma questa non è autovivificazione perché devi dichiarare che la struttura sottostante è innanzitutto un oggetto o un array?Autovivification e Javascript
7
A
risposta
13
Il namespace è un'area in cui l'autovivificazione potrebbe essere utile in JavaScript. Attualmente a "namespace" un oggetto, devi fare questo:
var foo = { bar: { baz: {} } };
foo.bar.baz.myValue = 1;
Were autovivificazione supportato da JavaScript, la prima linea non sarebbe necessario. La possibilità di aggiungere proprietà arbitrarie agli oggetti in JavaScript è dovuta al fatto che è un linguaggio dinamico, ma non è abbastanza autovivificante.
1
ES6 di Proxy
può essere utilizzato per l'attuazione autovivificazione,
var tree =() => new Proxy({}, { get: (target, name) => name in target ? target[name] : target[name] = tree() });
prova:
var t = tree();
t.bar.baz.myValue = 1;
t.bar.baz.myValue
Problemi correlati
- 1. Lazy caricamento JavaScript e JavaScript incorporato
- 2. JMeter e JavaScript
- 3. Sass, Compass e JavaScript
- 4. JavaScript instanceof e moment.js
- 5. JavaScript regex e parseInt
- 6. ambito Javascript e chiusura
- 7. Rileva adblock e javascript
- 8. Ereditarietà e matrici Javascript
- 9. Symfony2, ramoscello e JavaScript
- 10. Mappatura matematica e Javascript
- 11. Javascript ricerca e sostituzione
- 12. iframe HTML e javascript
- 13. JavaScript createElement e SVG
- 14. JavaScript e copia stile
- 15. JavaScript e single-threaded
- 16. window.onerror e javascript console
- 17. modello velocità e javascript
- 18. Comunicazione Silverlight e JavaScript
- 19. Javascript e Sqlite
- 20. Controlli utente e JavaScript e pagine master
- 21. Javascript Confrontare data e ora
- 22. javascript array associative E indicizzato?
- 23. JavaScript 'classe' e problemi Singleton
- 24. sce.trustAsUrl angolare e javascript HREF
- 25. performance.now di Javascript() e Nodejs
- 26. Oggetti JSP, JavaScript e Java
- 27. JavaScript variabile vincolante e ciclo
- 28. Javascript Funzioni e argomenti facoltativi
- 29. JavaScript Date.parse() e date nulle
- 30. getter e setter in javascript
Questo è il tipo di domanda specifica linguaggio di programmazione che appartiene a [programmers.se]. – zzzzBov