JavaScript, abbreviated JS, is a programming language that runs inside a web browser. It sets how a page behaves after it loads. It works with HyperText Markup Language (HTML) for content and with Cascading Style Sheets (CSS) for appearance. Browsers have a JavaScript engine that runs the code. Some servers and apps use an engine too.
History of JavaScript
Creator: Brendan Eich (Netscape Communications). Year: 1995.
Mosaic was the first web browser with a graphical interface. It came out in 1993. Its lead developers founded Netscape. Netscape released Netscape Navigator in 1994. Web pages could not change after they loaded. In 1995 Netscape decided to add a programming language to Navigator. It tried two routes at once. One used Java from Sun Microsystems. The other used Scheme.
Netscape chose to build its own language. Brendan Eich wrote it. It had a syntax that looks like Java. The first beta came out in September 1995. It was called LiveScript. The official release in December 1995 used the name JavaScript. Eich later called the name a marketing ploy by Netscape. The name caused confusion, because it implies a direct link to Java.
Microsoft released Internet Explorer in 1995. It added its own script engine. The engine was called JScript. Microsoft first released JScript in 1996. The two browsers ran scripts in different ways. The goal of the Ecma work was one standard. In November 1996 Netscape sent JavaScript to Ecma International as the starting point. That standard became ECMAScript.
Mozilla released Firefox in 2004. Browser scripting was stagnant for years before that. In 2005 Jesse James Garrett coined the term Ajax and described a set of technologies. Ajax uses JavaScript to load data in the background. Work on the language culminated in ECMAScript 6, published in 2015, with many additions.
Changelog and latest update
Ecma International publishes the language as ECMA-262. TC39 updates it with new editions. The 2026 edition is the 17th. Each edition adds features. Promises and async/await are two examples. Web APIs come from another group. The W3C and the WHATWG maintain them. WHATWG is a separate group.
In 2025 JavaScript was the most used programming language on GitHub. TypeScript, a typed superset of JavaScript, overtook it on GitHub by August 2025.1 TypeScript adds static types. Node.js is the most used runtime system for running JavaScript outside a browser.
Promises and async/await are built-in features. The Promise object handles the result of an asynchronous action. Async/await lets an asynchronous function be written in a way similar to ordinary code. Each edition keeps the features of the earlier editions.
A proposal moves through stages at TC39 before it joins an edition. Stage 4 means that the proposal is ready for the next edition. The Ecma page says that the HTML version of ECMA-262 is the normative copy. Readers should check that copy before they rely on a feature.
Latest update: ECMAScript 2026 (17th edition), 2026-06
Ecma published ECMAScript 2026 in June 2026. It is the 17th edition of ECMA-262. The document defines the language. Ecma keeps the official copy online. TC39 also publishes a draft. The draft is shown as ECMAScript 2027.
Usage examples
JavaScript runs in the page after the browser reads the HTML. A script element can hold the code. Or it can load a file with a src attribute. The browser runs the code in order. Event listeners wait for user actions such as clicks and form submits. The four examples show a script that writes into the page, a form check, a network request and a total calculated from an array.
<span id="y"></span>
<script>
const s = document.getElementById("y");
const y = new Date().getFullYear();
s.textContent = y;
</script>The script finds the span by its id. It sets the span text to the current year from the Date object. The code runs when the browser reaches the script element. Visitors see the year without the server changing the HTML file. So the page stays correct in every later year.
const f = document.forms[0];
f.addEventListener("submit", (e) => {
if (!f.email.value.includes("@")) {
e.preventDefault();
alert("Enter an email address.");
}
});The submit listener runs when the visitor sends the form. The code reads the email field. It checks for the at sign. If the check fails, preventDefault stops the form from being sent to the server. The alert tells the visitor what to fix.
async function getJson() {
const u = "https://httpbin.org/json";
const res = await fetch(u);
const data = await res.json();
console.log(data.slideshow.title);
}
getJson();The fetch function sends an HTTP request to a public test address. It returns the response. The json method reads the response body as a JavaScript object. The await keyword waits for each step. The console line prints the slideshow title from the reply.
const prices = [20, 35, 50];
const total = prices.reduce(
(sum, p) => sum + p, 0
);
console.log(total);The reduce method walks through each value in the array. It adds each value to a running sum that starts at zero. The result is 105. console.log prints it to the browser developer console. This pattern replaces a manual loop in many scripts.
References
These sources are outside Websnoogie and were checked on 2026-10-12.
JavaScript
Wikipedia
The encyclopedia article on JavaScript. It covers the 1995 creation at Netscape. It describes the browser competition with Microsoft. It explains the standards work at Ecma. Its citations point to primary sources.
JavaScript | MDN Web Docs
MDN Web Docs (Mozilla)
The MDN reference for the JavaScript language. It lists each statement, operator, object and built-in function. Each page has examples. Each page also shows which browsers support the feature. It links to the ECMAScript definition.
JavaScript Guide
MDN Web Docs (Mozilla)
The MDN guide teaches the language. It starts with the basics. It then covers classes, modules and asynchronous code. Each section has short examples. The sections link to the reference pages.
ECMA-262: ECMAScript 2026 Language Specification
Ecma International
The Ecma International page for ECMA-262. This standard defines JavaScript as ECMAScript. The page states that ECMAScript 2026 was published in June 2026. It links to the normative copy.
ECMAScript Language Specification (editor's draft)
TC39, Ecma International
The working copy of the ECMAScript specification. The TC39 technical committee maintains it. It shows each clause with normative and optional marks. It lists editions and proposals after 2026. The page has a table of contents, and each clause has its own link.
Scripts that run cleanly on every device
Since 2004, we have built and repaired websites for small businesses. JavaScript is the code that opens a menu, checks a form before it sends, or changes a photo on a slide. Its job is useful, but a single error can stop the whole page. When that happens on a phone, the buttons stop working and the visitor leaves. We test the scripts on every site we build, on desktop and on phone screens.
On a WordPress site, we check which scripts load on each page. We remove the ones a page does not use and keep the ones that forms and buy buttons need. We open the browser console and look for error lines, because a clean console means no hidden fault waits for the next visitor. Our content management system (CMS) hosting for WordPress costs $149 a year, and we check the scripts on that setup as part of every build.
A new website costs $300, one time, for up to five pages plus a contact page. Delivery takes 3 to 5 days. Phone 402-813-4034 daily from 7 am to 10 pm, and tell us which pages use scripts. We will reply with the steps we would take on your site.
