JavaScript -motor - JavaScript engine

En JavaScript -motor er et computerprogram, der udfører JavaScript -kode. De første JavaScript-motorer var blot tolke , men alle relevante moderne motorer bruger just-in-time-kompilering til forbedret ydeevne.

JavaScript -motorer udvikles typisk af webbrowsere , og hver større browser har en. I en browser kører JavaScript -motoren sammen med gengivelsesmotoren og kan manipulere elementer i dokumentobjektmodellen .

Brugen af ​​JavaScript -motorer er ikke begrænset til browsere. For eksempel er V8 -motoren en kernekomponent i Node.js og Deno runtime -systemer (programmer, der udfører JS -kildekode).

Da ECMAScript er den standardiserede specifikation af JavaScript, er ECMAScript -motor et andet navn for disse motorer. Med fremkomsten af WebAssemble kan nogle motorer også køre denne kode i den samme sandkasse som almindelig JavaScript -kode.

Historie

Den første JavaScript -motor blev oprettet af Brendan Eich i 1995 til Netscape Navigator -webbrowseren . Det var en rudimentær tolk for det begyndende sprog, Eich opfandt. (Dette udviklede sig til SpiderMonkey -motoren, der stadig bruges af Firefox -browseren .)

Den første moderne JavaScript -motor var V8 , skabt af Google til sin Chrome -browser. V8 debuterede som en del af Chrome i 2008, og dens ydeevne var meget bedre end nogen tidligere motor. Den centrale innovation var just-in-time-kompilering , som kan forbedre udførelsestiden betydeligt.

Andre browserudbydere skulle revidere deres tolke for at konkurrere. Apple udviklede Nitro -motoren til sin Safari -browser, som havde 30% bedre ydeevne end sin forgænger. Mozilla udnyttede dele af Nitro til at forbedre sin egen SpiderMonkey -motor.

Siden 2017 har disse motorer tilføjet support til WebAssemble . Dette muliggør brug af forudkompilerede eksekverbare filer til præstationskritiske dele af sidescripts.

Bemærkelsesværdige motorer

Referencer