Hi ha alguna diferència de rendiment seriosa entre utilitzar indefinit o nul com a valor dummy a JS?


Resposta 1:

Depèn del conjunt de dades, però sempre podeu fer servir la comprovació nul·la i indefinida de JavaScript:

// void 0 retorna "indefinit", no la paraula clau no reservada, però el valor real "indefinit"
var a;
var b = null;
console.log (a == void 0, b == void 0);
// imprimeix "true true"

Hi ha poca o cap diferència de rendiment entre tots dos, ja que "null" es resoldrà al valor "indefinit". El motiu pel qual fem servir “void 0” és perquè és breu i idiomàtic i la gent pot entendre el que fa quan ho veu.

Aquesta gran resposta sobre el desbordament de pila hauria de respondre a qualsevol pregunta sobre el tema.


Resposta 2:

No. Hi pot haver una diferència entre l'ús de primitius i globals com aquests, però no sol ser greu (tret que em senti serió al respecte). Si sóc seriós sobre el rendiment, perfilo el rendiment del meu codi directament per saber exactament com es veu. Això vol dir que no continuo a Quora i no em plantejo preguntes com aquesta, en lloc de fer un perfil al meu codi. De vegades (o massa sovint) també faig jsperf a buscar detalls concrets, però moltes de les mostres hi ha massa factors per tenir un valor pràctic.

Els motors de JavaScript tenen optimitzacions internes que coneixem amb el pas del temps, i després es van actualitzant i canviant, així que he de saber els estranys hàbits que he treballat tant dur.

Els valors nuls i no definits són globals i altres no (per exemple, nuls i falsos), però la diferència de rendiment és molt menor que en el passat, quan els navegadors eren molt més lents. Ja és difícil respondre a preguntes de rendiment específiques com a resultat de la barreja d’optimitzacions internes del navegador (que canvien durant el temps d’execució) juntament amb detalls pràctics com les cerques d’àmbit, etc. Un matís subtil per aprofitar aquestes optimitzacions és el tipus de variables que s’estan passant ... de manera que l'ús de fals i, després, un número o un objecte pot derrotar aquestes millores de rendiment intern (per tant, escrivint de manera coherent ajuda tot).

Fer menys feina, romandre en l’àmbit local ajuda amb rapidesa, utilitzant menys variables ajuda amb la memòria i les eines per a desenvolupadors són sempre la millor manera de respondre a preguntes concretes com aquesta.

Comença a analitzar el rendiment en temps d'execució | Eines per a desenvolupadors web | Desenvolupadors de Google

Una pregunta seriosa seria: funciona per al client o no? Estic treballant en alguna cosa útil per a les persones?


Resposta 3:

No. Hi pot haver una diferència entre l'ús de primitius i globals com aquests, però no sol ser greu (tret que em senti serió al respecte). Si sóc seriós sobre el rendiment, perfilo el rendiment del meu codi directament per saber exactament com es veu. Això vol dir que no continuo a Quora i no em plantejo preguntes com aquesta, en lloc de fer un perfil al meu codi. De vegades (o massa sovint) també faig jsperf a buscar detalls concrets, però moltes de les mostres hi ha massa factors per tenir un valor pràctic.

Els motors de JavaScript tenen optimitzacions internes que coneixem amb el pas del temps, i després es van actualitzant i canviant, així que he de saber els estranys hàbits que he treballat tant dur.

Els valors nuls i no definits són globals i altres no (per exemple, nuls i falsos), però la diferència de rendiment és molt menor que en el passat, quan els navegadors eren molt més lents. Ja és difícil respondre a preguntes de rendiment específiques com a resultat de la barreja d’optimitzacions internes del navegador (que canvien durant el temps d’execució) juntament amb detalls pràctics com les cerques d’àmbit, etc. Un matís subtil per aprofitar aquestes optimitzacions és el tipus de variables que s’estan passant ... de manera que l'ús de fals i, després, un número o un objecte pot derrotar aquestes millores de rendiment intern (per tant, escrivint de manera coherent ajuda tot).

Fer menys feina, romandre en l’àmbit local ajuda amb rapidesa, utilitzant menys variables ajuda amb la memòria i les eines per a desenvolupadors són sempre la millor manera de respondre a preguntes concretes com aquesta.

Comença a analitzar el rendiment en temps d'execució | Eines per a desenvolupadors web | Desenvolupadors de Google

Una pregunta seriosa seria: funciona per al client o no? Estic treballant en alguna cosa útil per a les persones?


Resposta 4:

No. Hi pot haver una diferència entre l'ús de primitius i globals com aquests, però no sol ser greu (tret que em senti serió al respecte). Si sóc seriós sobre el rendiment, perfilo el rendiment del meu codi directament per saber exactament com es veu. Això vol dir que no continuo a Quora i no em plantejo preguntes com aquesta, en lloc de fer un perfil al meu codi. De vegades (o massa sovint) també faig jsperf a buscar detalls concrets, però moltes de les mostres hi ha massa factors per tenir un valor pràctic.

Els motors de JavaScript tenen optimitzacions internes que coneixem amb el pas del temps, i després es van actualitzant i canviant, així que he de saber els estranys hàbits que he treballat tant dur.

Els valors nuls i no definits són globals i altres no (per exemple, nuls i falsos), però la diferència de rendiment és molt menor que en el passat, quan els navegadors eren molt més lents. Ja és difícil respondre a preguntes de rendiment específiques com a resultat de la barreja d’optimitzacions internes del navegador (que canvien durant el temps d’execució) juntament amb detalls pràctics com les cerques d’àmbit, etc. Un matís subtil per aprofitar aquestes optimitzacions és el tipus de variables que s’estan passant ... de manera que l'ús de fals i, després, un número o un objecte pot derrotar aquestes millores de rendiment intern (per tant, escrivint de manera coherent ajuda tot).

Fer menys feina, romandre en l’àmbit local ajuda amb rapidesa, utilitzant menys variables ajuda amb la memòria i les eines per a desenvolupadors són sempre la millor manera de respondre a preguntes concretes com aquesta.

Comença a analitzar el rendiment en temps d'execució | Eines per a desenvolupadors web | Desenvolupadors de Google

Una pregunta seriosa seria: funciona per al client o no? Estic treballant en alguna cosa útil per a les persones?


Resposta 5:

No. Hi pot haver una diferència entre l'ús de primitius i globals com aquests, però no sol ser greu (tret que em senti serió al respecte). Si sóc seriós sobre el rendiment, perfilo el rendiment del meu codi directament per saber exactament com es veu. Això vol dir que no continuo a Quora i no em plantejo preguntes com aquesta, en lloc de fer un perfil al meu codi. De vegades (o massa sovint) també faig jsperf a buscar detalls concrets, però moltes de les mostres hi ha massa factors per tenir un valor pràctic.

Els motors de JavaScript tenen optimitzacions internes que coneixem amb el pas del temps, i després es van actualitzant i canviant, així que he de saber els estranys hàbits que he treballat tant dur.

Els valors nuls i no definits són globals i altres no (per exemple, nuls i falsos), però la diferència de rendiment és molt menor que en el passat, quan els navegadors eren molt més lents. Ja és difícil respondre a preguntes de rendiment específiques com a resultat de la barreja d’optimitzacions internes del navegador (que canvien durant el temps d’execució) juntament amb detalls pràctics com les cerques d’àmbit, etc. Un matís subtil per aprofitar aquestes optimitzacions és el tipus de variables que s’estan passant ... de manera que l'ús de fals i, després, un número o un objecte pot derrotar aquestes millores de rendiment intern (per tant, escrivint de manera coherent ajuda tot).

Fer menys feina, romandre en l’àmbit local ajuda amb rapidesa, utilitzant menys variables ajuda amb la memòria i les eines per a desenvolupadors són sempre la millor manera de respondre a preguntes concretes com aquesta.

Comença a analitzar el rendiment en temps d'execució | Eines per a desenvolupadors web | Desenvolupadors de Google

Una pregunta seriosa seria: funciona per al client o no? Estic treballant en alguna cosa útil per a les persones?