Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
JavaScript
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|High-level programming language}} {{Distinguish|Java (programming language)|Javanese script|ECMAScript}} {{pp-semi-indef|small=yes}} {{Use dmy dates|date=March 2024}} {{Infobox programming language | name = JavaScript | logo = <!-- Do not add the unofficial logo, per [[Talk:JavaScript/Archive 5#Why is the unofficial logo present?]] --> | logo alt = | screenshot = JavaScript code.png | screenshot caption = Screenshot of JavaScript source code | paradigm = [[Multi-paradigm]]: [[event-driven programming|event-driven]], [[functional programming|functional]], [[imperative programming|imperative]], [[procedural programming|procedural]], [[object-oriented programming|object-oriented]] | memory management = [[Garbage collection (computer science)|Garbage collection]] | designer = [[Brendan Eich]] of [[Netscape]] initially; others have also contributed to the [[ECMAScript]] standard | typing = [[Dynamic typing|Dynamic]], [[Weak typing|weak]], [[Duck typing|duck]] | implementations = [[V8 (JavaScript engine)|V8]], [[JavaScriptCore]], [[SpiderMonkey (JavaScript engine)|SpiderMonkey]], [[Chakra (JavaScript engine)|Chakra (Deprecated)]] | influenced = [[ActionScript]], [[ArkTS]], [[AssemblyScript]], [[CoffeeScript]], [[Dart (programming language)|Dart]], [[Haxe]], [[JS++]], [[Opa (programming language)|Opa]], [[TypeScript]] | license = | file extensions = {{flatlist| * <code>.js</code> * <code>.mjs</code> * <code>.cjs</code><ref name="node.js ECMAScript Modules Specification">{{cite web|url=https://github.com/nodejs/node-eps/blob/master/002-es-modules.md|title=nodejs/node-eps|website=GitHub|access-date=2018-07-05|archive-date=2020-08-29|archive-url=https://web.archive.org/web/20200829024713/https://github.com/nodejs/node-eps/blob/master/002-es-modules.md|url-status=live}}</ref> }} | file format = | wikibooks = JavaScript | year = {{start date and age|1995|12|4|df=y}}<ref name="press_release">{{Cite press release |url=https://wp.netscape.com/newsref/pr/newsrelease67.html |archive-url=https://web.archive.org/web/20070916144913/https://wp.netscape.com/newsref/pr/newsrelease67.html |archive-date=2007-09-16 |title=Netscape and Sun announce JavaScript, the Open, Cross-platform Object Scripting Language for Enterprise Networks and the Internet |date=December 4, 1995}}</ref> | latest release version = {{wikidata|property|edit|reference|P548=Q2804309|P348}} | latest release date = {{start date and age|{{wikidata|qualifier|single|P548=Q2804309|P348|P577}}}} | latest preview version = {{wikidata|property|edit|reference|P548=Q51930650|P348}} | latest preview date = {{start date and age|{{wikidata|qualifier|single|P548=Q51930650|P348|P577}}}} | influenced by = [[Java (programming language)|Java]],<ref name="looklikejava">{{cite book|last=Seibel|first=Peter|title=Coders at Work: Reflections on the Craft of Programming|isbn=978-1-4302-1948-4|quote="Eich: The immediate concern at Netscape was it must look like Java."|url=https://books.google.com/books?id=nneBa6-mWfgC&q=The+immediate+concern+at+Netscape+was+it+must+look+like+Java.&pg=PA141|access-date=December 25, 2018|date=September 16, 2009|publisher=Apress |archive-date=December 24, 2020|archive-url=https://web.archive.org/web/20201224233514/https://books.google.com/books?id=nneBa6-mWfgC&q=The+immediate+concern+at+Netscape+was+it+must+look+like+Java.&pg=PA141|url-status=live}}</ref><ref name="origin" /> [[Scheme (programming language)|Scheme]],<ref name="origin" /> [[Self (programming language)|Self]],<ref>{{cite web|url=https://brendaneich.com/2008/04/popularity/|title = Popularity – Brendan Eich}}</ref> [[AWK]],<ref>{{cite web|title=Brendan Eich: An Introduction to JavaScript, JSConf 2010|website=[[YouTube]]|date=20 January 2013 |quote="Eich: "function", eight letters, I was influenced by AWK."|url=https://www.youtube.com/watch?v=1EyRscXrehw|access-date=November 25, 2019|page=22m|archive-date=August 29, 2020|archive-url=https://web.archive.org/web/20200829024704/https://www.youtube.com/watch?v=1EyRscXrehw|url-status=live}}</ref> [[HyperTalk]]<ref>{{cite book |last=Eich |first=Brendan |authorlink1=Brendan Eich |chapter=Foreword |editor1-last=Goodman |editor1-first=Danny |editor1-link=Danny Goodman |year=1998 |title=JavaScript Bible |edition=3rd |publisher=[[John Wiley & Sons]] |isbn=0-7645-3188-3 |lccn=97078208 |oclc=38888873 |ol=712205M |url-access=registration |url=https://archive.org/details/javascriptbible000good}}</ref> | website = {{URL|https://ecma-international.org/publications-and-standards/standards/ecma-262/}} }} '''JavaScript''' ({{IPAc-en|ˈ|dʒ|ɑː|v|ə|s|k|r|ɪ|p|t|audio=LL-Q1860 (eng)-Flame, not lame-JavaScript.wav}}), often abbreviated as '''JS''', is a [[programming language]] and core technology of the [[World Wide Web]], alongside [[HTML]] and [[CSS]]. <!--don't add dating or decimals: it'll remain 99% indefinitely-->Ninety-nine percent of [[website]]s use JavaScript on the [[Client (computing)|client]] side for [[Web page|webpage]] behavior.<ref name="deployedstats">{{cite web |title=Usage Statistics of JavaScript as Client-side Programming Language on Websites |url=https://w3techs.com/technologies/details/cp-javascript |access-date=2024-02-27 |website=W3Techs }}</ref> [[Web browser]]s have a dedicated [[JavaScript engine]] that executes the client [[Source code|code]]. These engines are also utilized in some [[Server (computing)|servers]] and a variety of [[Application software|apps]]. The most popular [[runtime system]] for non-browser usage is [[Node.js]]. JavaScript is a [[High-level programming language|high-level]], often [[Just-in-time compilation|just-in-time–compiled]] language that conforms to the [[ECMAScript]] standard.<ref name="tc39">{{cite web|title=ECMAScript 2020 Language Specification|url=https://tc39.es/ecma262/#sec-overview|url-status=live|archive-url=https://web.archive.org/web/20200508053013/https://tc39.es/ecma262/#sec-overview|archive-date=2020-05-08|access-date=2020-05-08}}</ref> It has [[dynamic typing]], [[Prototype-based programming|prototype-based]] [[object-oriented programming|object-orientation]], and [[first-class function]]s. It is [[Programming paradigm|multi-paradigm]], supporting [[Event-driven programming|event-driven]], [[functional programming|functional]], and [[imperative programming|imperative]] [[programming paradigm|programming styles]]. It has [[application programming interface]]s (APIs) for working with text, dates, [[regular expression]]s, standard [[data structure]]s, and the [[Document Object Model]] (DOM). The ECMAScript standard does not include any [[input/output]] (I/O), such as [[computer network|networking]], [[data storage|storage]], or [[computer graphics|graphics]] facilities. In practice, the web browser or other runtime system provides JavaScript APIs for I/O. Although [[Java (programming language)|Java]] and JavaScript are similar in name and [[Syntax (programming languages)|syntax]], the two languages are distinct and differ greatly in design.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)