[{"data":1,"prerenderedAt":465},["ShallowReactive",2],{"post-\u002Fwhat-is-ecmascript":3},{"page":4,"translation":342,"nav":344,"related":456,"random":459},{"id":5,"title":6,"body":7,"categories":324,"category":326,"date":327,"description":328,"draft":329,"extension":330,"image":331,"kind":326,"lang":332,"meta":333,"navigation":334,"path":335,"readingTime":336,"seo":337,"slug":185,"stem":185,"tags":338,"translationKey":185,"type":325,"updated":340,"__hash__":341},"posts\u002Fwhat-is-ecmascript.md","What is ECMAScript? What is not?",{"type":8,"value":9,"toc":312},"minimark",[10,43,46,49,63,66,80,83,86,90,171,173,178,181,183,186,204,206,210,213,220,222,226,229,247,249,253,264,266,270,273,276,288,291,309],[11,12,13,21],"blockquote",{},[14,15,16,17],"p",{},"💡 ",[18,19,20],"strong",{},"Quick Summary (TL;DR):",[22,23,24,31,37],"ul",{},[25,26,27,30],"li",{},[18,28,29],{},"ECMAScript (ES):"," The official specification\u002Fstandard for scripting languages, maintained by ECMA International (under ECMA-262).",[25,32,33,36],{},[18,34,35],{},"JavaScript (JS):"," The most popular programming language implementation of the ECMAScript standard.",[25,38,39,42],{},[18,40,41],{},"Version Evolution:"," Since ES6 (ES2015), new features are released annually (ES2016 to ES2026+). Modern engines natively support up to ES2021+ features, reducing the need for heavy compilation tools like Babel except for legacy browser targets.",[14,44,45],{},"A JavaScript library on GitHub, a job posting from your dream company, or a tweet you see on Twitter—ECMAScript comes up in many places related to JavaScript. However, there is confusion even in \"senior level\" job postings about the concept. There are different uses and misconceptions about ECMAScript, which aims to standardize scripting languages and specifically JavaScript. Frankly, the idea of writing this article came from one of these postings.",[14,47,48],{},"You may see requirements like these in job postings:",[22,50,51,54,57,60],{},[25,52,53],{},"Extensive knowledge of JavaScript and ECMAScript",[25,55,56],{},"ES5 and ES6 knowledge",[25,58,59],{},"ES6+ knowledge (the weirdest, in my opinion)",[25,61,62],{},"ES.Next knowledge (and the most meaningful one)",[14,64,65],{},"The most Googled terms about ECMAScript also clearly show a misunderstanding about the concept:",[22,67,68,71,74,77],{},[25,69,70],{},"ECMAScript vs. JavaScript",[25,72,73],{},"What is ECMAScript?",[25,75,76],{},"Difference between ECMAScript and JavaScript",[25,78,79],{},"Learn ECMAScript",[14,81,82],{},"Let's answer the questions below to clarify the topic.",[84,85],"hr",{},[87,88,70],"h3",{"id":89},"ecmascript-vs-javascript",[91,92,93,110],"table",{},[94,95,96],"thead",{},[97,98,99,104,107],"tr",{},[100,101,103],"th",{"align":102},"left","Feature",[100,105,106],{"align":102},"ECMAScript",[100,108,109],{"align":102},"JavaScript",[111,112,113,127,140,153],"tbody",{},[97,114,115,121,124],{},[116,117,118],"td",{"align":102},[18,119,120],{},"What is it?",[116,122,123],{"align":102},"A standardized specification (a set of rules).",[116,125,126],{"align":102},"A fully-featured programming language.",[97,128,129,134,137],{},[116,130,131],{"align":102},[18,132,133],{},"Governing Body",[116,135,136],{"align":102},"ECMA International (TC39 Committee).",[116,138,139],{"align":102},"The Mozilla Foundation and browser vendors.",[97,141,142,147,150],{},[116,143,144],{"align":102},[18,145,146],{},"Execution",[116,148,149],{"align":102},"It cannot be run directly; it is just a blueprint.",[116,151,152],{"align":102},"Executed by JS Engines (V8, JavaScriptCore, SpiderMonkey).",[97,154,155,160,163],{},[116,156,157],{"align":102},[18,158,159],{},"Host APIs",[116,161,162],{"align":102},"Excludes host-specific features (no DOM, no file system).",[116,164,165,166,170],{"align":102},"Includes host APIs depending on environment (DOM in browsers, ",[167,168,169],"code",{},"fs"," in Node.js).",[84,172],{},[174,175,177],"h2",{"id":176},"what-is-ecma-international","What is ECMA International?",[14,179,180],{},"ECMA, with its full name \"European Computer Manufacturers Association\", is a non-profit association. ECMA publishes standards on information and communication technologies and is not just about ECMAScript.",[84,182],{},[174,184,73],{"id":185},"what-is-ecmascript",[14,187,188,189,199,200,203],{},"There are ",[190,191,198],"a",{"href":192,"rel":193,"target":197},"https:\u002F\u002Fwww.ecma-international.org\u002Fpublications-and-standards\u002Fstandards\u002F",[194,195,196],"nofollow","noopener","noreferrer","_blank","many standards"," published by ECMA International. The ECMAScript standard is regulated by ",[18,201,202],{},"ECMA-262",", which is one of these standards. ECMAScript is a general-purpose standard for scripting languages.",[84,205],{},[174,207,209],{"id":208},"what-is-the-difference-between-ecmascript-and-javascript","What is the difference between ECMAScript and JavaScript?",[14,211,212],{},"ECMAScript is a specification. JavaScript is a programming language that conforms to this specification.",[14,214,215,216,219],{},"Saying ",[18,217,218],{},"\"I know JavaScript but not ECMAScript\""," is not meaningful. If you were trying to develop a new scripting language from scratch, you would need to study the ECMAScript specification document page-by-page. Otherwise, you don't need to read the specification to be a successful JavaScript developer. However, since JavaScript is compatible with the standard, knowing its evolving features helps you write cleaner code.",[84,221],{},[174,223,225],{"id":224},"es5-es6-es7-what-are-all-of-these-numbers","ES5, ES6, ES7 ... What are all of these numbers?",[14,227,228],{},"ECMAScript is revised and updated every year, meaning a new version is published annually (e.g., ES2024, ES2025, and ES2026). There are no two completely different standards like ES14 and ES15; rather, ES15 is simply the revised version of ES14 built on top of it.",[22,230,231,237],{},[25,232,233,236],{},[18,234,235],{},"If \"ES8+\" is specified in a repository:"," It means that a JavaScript engine supporting ES8 (ES2017) and later can run the code without using any converters.",[25,238,239,242,243,246],{},[18,240,241],{},"A requirement of \"ES8+ knowledge\":"," This is not a reasonable requirement. It would make sense if they said \"knowledge of ES8 features\" (like async\u002Fawait), but there is no distinct body of knowledge called \"ES8+\". I assume they are trying to refer to the latest version, which is ",[18,244,245],{},"ES.Next",".",[84,248],{},[174,250,252],{"id":251},"is-es6-enough","Is ES6 Enough?",[14,254,255,256,259,260,263],{},"Some job postings only require ES6 experience. If we take that literally, it would mean we wouldn't need to know the async\u002Fawait functions of ES8, the dynamic import features of ES10, the ",[167,257,258],{},"Promise.allSettled"," methods of ES11, or the ",[167,261,262],{},"Object.groupBy"," features of ES15. Yet, we would still theoretically qualify as the \"Senior JavaScript Developer\" described in the posting. In reality, modern developers are expected to keep up with the yearly increments.",[84,265],{},[174,267,269],{"id":268},"does-ecmascript-compliant-code-work-in-any-environment","Does ECMAScript compliant code work in any environment?",[14,271,272],{},"The compatibility landscape has changed dramatically. ES6 (released in 2015) is now natively supported by virtually 100% of modern browsers and Node.js environments. Even features from ES2020 and ES2021 have near-universal native support.",[14,274,275],{},"You only need to compile your code if:",[277,278,279,282],"ol",{},[25,280,281],{},"You are targeting extremely ancient platforms (like Internet Explorer, which is now deprecated).",[25,283,284,285,287],{},"You are using cutting-edge, experimental proposals (",[18,286,245],{},") that have not yet been finalized by the TC39 committee or implemented natively by browser engines.",[14,289,290],{},"To solve compatibility for legacy environments, developers use transpilers:",[22,292,293,299],{},[25,294,295,298],{},[18,296,297],{},"Babel:"," A tool that converts ECMAScript 2015+ code into an ES5-compatible version.",[25,300,301,304,305,308],{},[18,302,303],{},"SWC & esbuild:"," Modern, ultra-fast rust\u002Fgo-based transpilers and build tools that have largely replaced Babel in modern build systems (like ",[18,306,307],{},"Vite",").",[14,310,311],{},"Using these tools as plugins in your bundlers ensures that your modern JavaScript code compiles safely for older runtimes.",{"title":313,"searchDepth":314,"depth":314,"links":315},"",2,[316,318,319,320,321,322,323],{"id":89,"depth":317,"text":70},3,{"id":176,"depth":314,"text":177},{"id":185,"depth":314,"text":73},{"id":208,"depth":314,"text":209},{"id":224,"depth":314,"text":225},{"id":251,"depth":314,"text":252},{"id":268,"depth":314,"text":269},[325],"technical",null,"2022-04-08","Understand the relationship between ECMAScript and JavaScript, clarify versioning (ES6 to ES2026+), and learn when you actually need transpilers.",false,"md","\u002Fimages\u002Fhero\u002Fecmascript.avif","en",{},true,"\u002Fwhat-is-ecmascript",4,{"title":6,"description":328},[339],"javascript","2026-06-21","W2wnxOLoaXihsw7AxZZKdoqGPQOpQwVK-ONvqyrdHhk",{"path":343},"\u002Ftr\u002Fecmascript-nedir-ecmascript-ne-degildir-bilinmesi-gerekenler",{"prev":345,"next":326,"others":348,"lucky":455,"readingTime":336},{"path":346,"title":347},"\u002Fhello-world","Hello World: A New Multilingual Journey",[349,352,355,358,361,364,367,370,373,376,379,382,385,388,391,394,397,400,403,406,409,412,415,418,421,424,427,430,433,436,439,442,445,448,451,454],{"path":350,"title":351},"\u002Ffull-stack-project-development","Sample REST API Project",{"path":353,"title":354},"\u002Frest-api-authentication","How to Perform REST API Authentication?",{"path":356,"title":357},"\u002Frest-api-design","REST API Design: Principles and Output Format",{"path":359,"title":360},"\u002Frest-api-documentation-and-testing","How to Document and Test a REST API?",{"path":362,"title":363},"\u002Frest-api-error-handling","How to Perform REST API Error Handling?",{"path":365,"title":366},"\u002Frest-api-security","How to Secure a REST API?",{"path":368,"title":369},"\u002Frest-api-uri-structure","What Should the REST API URI Structure Be?",{"path":371,"title":372},"\u002Ftroubleshooting-cyberpanel-inaccessibility-after-ubuntu-release-upgrade","Troubleshooting CyberPanel Inaccessibility After Ubuntu Release Upgrade",{"path":374,"title":375},"\u002Freset-wordpress-admin-password-using-wp-cli","Reset WordPress Admin Password Using WP-CLI",{"path":377,"title":378},"\u002Fgraphql-vs-rest-api-which-is-the-best-choice-for-headless-wordpress","GraphQL vs REST API: Which is the Best Choice for Headless WordPress?",{"path":380,"title":381},"\u002Fgrow-your-business-in-turkey-with-expert-wordpress-plugin-and-theme-localization-and-support-services","Grow Your Business in Turkey with Expert WordPress Plugin and Theme Localization and Support Services",{"path":383,"title":384},"\u002Fgetting-started-with-devops-understanding-the-principles-and-adopting-the-tools","Getting Started with DevOps: Understanding the Principles and Adopting the Tools",{"path":386,"title":387},"\u002Fphp-graphql-development-advanced-techniques-for-optimizing-your-apis","PHP GraphQL Development: Advanced Techniques for Optimizing Your APIs",{"path":389,"title":390},"\u002Fadvanced-techniques-for-dependency-injection-in-php-tips-code-samples-and-faqs","Advanced Techniques for Dependency Injection in PHP: Tips, Code Samples, and FAQs",{"path":392,"title":393},"\u002Fmaximize-the-potential-of-headless-wordpress-with-graphql","Maximize the Potential of Headless WordPress with GraphQL",{"path":395,"title":396},"\u002Fwriting-clean-modular-and-reusable-code-in-php","Best Practices for Writing Clean, Modular, and Reusable Code in PHP",{"path":398,"title":399},"\u002Fheadless-cmss-an-overview-of-popular-alternatives-to-contentful-and-wordpress","Headless CMSs: An Overview of Popular Alternatives to Contentful and WordPress",{"path":401,"title":402},"\u002Fci-cd-for-php-a-comprehensive-guide","CI\u002FCD for PHP: A Comprehensive Guide",{"path":404,"title":405},"\u002Fintroduction-to-php-namespaces-a-beginners-guide-to-structuring-your-code","Introduction to PHP Namespaces: A Beginner's Guide to Structuring Your Code",{"path":407,"title":408},"\u002Fwhat-is-graylog-a-powerful-tool-for-collecting-indexing-and-analyzing-log-data","What is Graylog? A Powerful Tool for Collecting, Indexing, and Analyzing Log Data",{"path":410,"title":411},"\u002Felevate-your-turkish-audience-experience-with-professional-wordpress-plugin-and-theme-translation","Elevate Your Turkish Audience Experience with Professional WordPress Plugin and Theme Translation",{"path":413,"title":414},"\u002Fhow-to-set-up-a-self-hosted-api-gateway-a-comprehensive-guide","How to Set Up a Self-Hosted API Gateway: A Comprehensive Guide",{"path":416,"title":417},"\u002Fdifference-between-generators-and-iterators-in-php","The Key Differences Between PHP Generators and Iterators",{"path":419,"title":420},"\u002Fphp-and-machine-learning-a-winning-combination-with-php-ml","PHP and Machine Learning: A Winning Combination with PHP-ML",{"path":422,"title":423},"\u002Fphp-generators-a-beginners-guide-to-iteration","PHP Generators: A Beginner's Guide to Iteration",{"path":425,"title":426},"\u002Fmastering-closures-in-javascript-a-beginners-guide","Mastering Closures in JavaScript: A Beginner's Guide",{"path":428,"title":429},"\u002Fthe-top-php-certification-programs-for-developers","The Top PHP Certification Programs for Developers",{"path":431,"title":432},"\u002Fhow-to-revalidate-next-js-isr-cache-on-demand-cache-regeneration","How to Revalidate Next.js ISR Cache? On-Demand Cache Regeneration",{"path":434,"title":435},"\u002Ftips-for-translating-a-wordpress-plugin-wordpress-theme-to-turkish","Tips for Translating a WordPress Plugin \u002F WordPress Theme to Turkish",{"path":437,"title":438},"\u002Fall-about-headless-wordpress","All About Headless WordPress",{"path":440,"title":441},"\u002Finstall-composer-on-ubuntu","How to Install Composer on Ubuntu \u002F Linux",{"path":443,"title":444},"\u002Fwhat-is-an-api-gateway","What is an API Gateway? Should You Use It?",{"path":446,"title":447},"\u002Fis-jwt-safe-or-is-it-vulnerable","Is JWT Safe or Is It Vulnerable?",{"path":449,"title":450},"\u002Ftailwind-css-to-use-or-not-to-use-that-is-the-question","Tailwind CSS! To use? Or not to use? That is the question.",{"path":452,"title":453},"\u002Fwhat-is-hateoas","What is HATEOAS?",{"path":346,"title":347},{"path":413,"title":414},[457],{"path":425,"title":426,"date":458},"2023-01-09",[460,461,463],{"path":428,"title":429,"date":458},{"path":346,"title":347,"date":462},"2022-05-11",{"path":398,"title":399,"date":464},"2023-01-16",1782141982639]