{"id":1,"date":"2024-08-10T14:11:50","date_gmt":"2024-08-10T14:11:50","guid":{"rendered":"https:\/\/camilopinzoncv.julianvalencia.co\/?p=1"},"modified":"2024-09-02T22:35:10","modified_gmt":"2024-09-03T03:35:10","slug":"javascript-engine","status":"publish","type":"post","link":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/javascript-engine\/","title":{"rendered":"What is and how works the JavaScript Engine"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1\" class=\"elementor elementor-1\">\n\t\t\t\t<div class=\"elementor-element elementor-element-20bf8cf0 e-flex e-con-boxed e-con e-parent\" data-id=\"20bf8cf0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-61d14af elementor-widget elementor-widget-spacer\" data-id=\"61d14af\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a1e1cfb elementor-widget elementor-widget-heading\" data-id=\"a1e1cfb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">What is and how works the JavaScript Engine<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c5dcb09 elementor-widget elementor-widget-spacer\" data-id=\"c5dcb09\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-793f8c7 elementor-widget elementor-widget-heading\" data-id=\"793f8c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">What is a Javascript Engine?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e9e3f04 elementor-widget elementor-widget-text-editor\" data-id=\"e9e3f04\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A JavaScript engine is the part of the software that interprets and executes the JavaScript code. It is the core of every environment that executes JavaScript, environments like web browsers, Node.Js and others. The engine translates the JavaScript code into machine code or other lower-level code and executes it. This process allows the code to interact with the system and perform various tasks, such as manipulating the DOM in a web environment.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13e3a62 elementor-widget elementor-widget-heading\" data-id=\"13e3a62\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Key components of a JavaScript engine<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-91ba7e3 elementor-widget elementor-widget-text-editor\" data-id=\"91ba7e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ol><li><strong>Parser<\/strong>: The parser reads the JavaScript code and turn it into an Abstract Sintax Tree (AST). The AST represent the code in a way that the engine can read it.<\/li><li><strong>Interpreter<\/strong>: The interpreter ejecutes the code line by line. In some engines this step can be omitted or improved by a Just-In-Time (JIT) compiler.<\/li><li><strong>JIT Compiler<\/strong>: The JIT compiler optimizes the code during execution by compiling it into machine code in real time. This allows for faster execution after the initial interpretation.<\/li><li><strong>Garbage collector<\/strong>: The garbage collector manages memory by automatically cleaning up memory that is not in use. It helps to prevent memory leaks and ensures efficient use of system resources.<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-326331c elementor-widget elementor-widget-image\" data-id=\"326331c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"642\" height=\"621\" src=\"https:\/\/camilopinzoncv.julianvalencia.co\/wp-content\/uploads\/2024\/08\/javascript-engine.png\" class=\"attachment-large size-large wp-image-246\" alt=\"javascript engine\" srcset=\"https:\/\/camilopinzoncv.julianvalencia.co\/wp-content\/uploads\/2024\/08\/javascript-engine.png 642w, https:\/\/camilopinzoncv.julianvalencia.co\/wp-content\/uploads\/2024\/08\/javascript-engine-300x290.png 300w\" sizes=\"(max-width: 642px) 100vw, 642px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\"><\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7d3c1d4 elementor-widget elementor-widget-spacer\" data-id=\"7d3c1d4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aeb31f9 elementor-widget elementor-widget-heading\" data-id=\"aeb31f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Popular JavaScript engines<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5d7af28 elementor-widget elementor-widget-text-editor\" data-id=\"5d7af28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>V8<\/strong>: Developed by Google, V8 is used in Google\u2019s Chrome and Node.js. It is well known for its high performance, partly due to its powerful JIT compiler.<\/li><li><strong>SpiderMonkey<\/strong>: Developed by Mozilla, SpiderMonkey is used in the Firefox browser. It was the first JavaScript engine and is still in continuous development.<\/li><li><strong>JavaScriptCore<\/strong> (Also known as Nitro): Developed by Apple, JavaScriptCore is used in the Safari browser and other apps based on WebKit.<\/li><li><strong>Chakra<\/strong>: Developed by Microsoft, Chakra was used in the Edge browser before the transition to a Chromium-based Edge, which now uses V8.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cc29f37 elementor-widget elementor-widget-spacer\" data-id=\"cc29f37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-027cef8 elementor-widget elementor-widget-heading\" data-id=\"027cef8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Importance of JavaScript Engines<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5b26214 elementor-widget elementor-widget-text-editor\" data-id=\"5b26214\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>JavaScript engines are crucial for the performance and efficiency of JavaScript applications. Advances in engine technology, such as JIT compilation and memory management, have significantly improved the speed and responsiveness of both web and server-side JavaScript applications.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-dd6c5d6 e-flex e-con-boxed e-con e-parent\" data-id=\"dd6c5d6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-292e659 e-con-full e-flex e-con e-child\" data-id=\"292e659\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>A JavaScript engine is the part of the software that interprets and executes the JavaScript code. It is the core of every environment that executes JavaScript, environments like web browsers, Node.Js and others.<\/p>\n","protected":false},"author":1,"featured_media":405,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"footnotes":""},"categories":[14,17],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","category-web"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":84,"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":545,"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/posts\/1\/revisions\/545"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/media\/405"}],"wp:attachment":[{"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/camilopinzoncv.julianvalencia.co\/en\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}