Category:JavaScript: Difference between revisions
typo |
m Added link to Tasks not implemented in JavaScript |
||
(26 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
{{language|JavaScript |
|||
[[Category:Solutions by Programming Language]] |
|||
|strength=weak |
|||
|express=implicit |
|||
⚫ | '''JavaScript''' is the name of Netscape Communications Corporation's implementation of the ECMAScript standard, a scripting language based on the concept of prototype-based programming. The language is best known for its use in websites (as client-side JavaScript), but is also used to enable scripting access to objects embedded in other applications. |
||
|checking=dynamic |
|||
|gc=yes |
|||
|parampass=value |
|||
|LCT=yes |
|||
|bnf=http://javascript.comsci.us/syntax/statement/bnf.html}}{{language programming paradigm|Object-oriented}}{{language programming paradigm|functional}} |
|||
⚫ | '''JavaScript''' is the name of Netscape Communications Corporation's implementation of the [[ECMAScript standard]], a scripting language based on the concept of prototype-based programming. The language is best known for its use in websites (as client-side JavaScript), but is also used to enable scripting access to objects embedded in other applications. |
||
Despite the name, JavaScript is only distantly related to the [[Java]] programming language, the main similarity being their common debt to the [[C]] syntax. Semantically, JavaScript syntax has far more in common with the [[Self]] [[programming language]]. |
Despite the name, JavaScript is only distantly related to the [[Java]] programming language, the main similarity being their common debt to the [[C]] syntax. Semantically, JavaScript syntax has far more in common with the [[Self]] [[programming language]]. |
||
JavaScript is a registered trademark of Sun Microsystems, Inc. It was used under license for technology invented and implemented by Netscape Communications and current entities such as the Mozilla Foundation. |
JavaScript is a registered trademark of [[Sun Microsystems]], Inc. It was used under license for technology invented and implemented by Netscape Communications and current entities such as the Mozilla Foundation. |
||
Major browsers have generally implemented the features of ECMASScript 5 (ES5), and have started to adopt elements of ES6. |
|||
JavaScript has been born again, now that [[AJAX]] has come up. The meaning of this, is simply that [[AJAX]] has shown that JavaScript is really still useful, in a lot of domains, and that, using it, (most) web pages can be given a whole new life. |
|||
Updates to implementation of ES6 features are tabulated here: [https://kangax.github.io/compat-table/es6/ https://kangax.github.io/compat-table/es6/] |
|||
Once largely confined to browser environments, and typically isolated from access to system resources, JavaScript (and particularly the cross-platform [https://nodejs.org/en/ Node.js runtime environment]) is now very widely used in server-side and application scripting environments, with full access to local file systems and other OS resources. |
|||
At the same time, mainly because of JavaScript's role in the web, there is a growing number of other languages which [https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js compile to JavaScript]. |
|||
The inclusion of '''tail-call optimisation''' in the ES6 standard reflects increased interest in functional approaches to the composition of JavaScript code, expressed for example, in significant adoption of libraries like Underscore and Lodash. If ES6 tail-call optimisation is widely implemented by JavaScript engines (so far this has mainly been achieved only by Apple's Safari engine) it will make JavaScript a more efficient and more natural environment for coding in a functional idiom. |
|||
==Citations== |
==Citations== |
||
* [ |
* [[wp:Javascript|Wikipedia:Javascript]] |
||
* [https://nodejs.org/en/ Node.js] Event-driven I/O server-side JavaScript environment based on V8 |
|||
* [https://www.npmjs.com npm – Node.js Package Manager] Claims to be the largest ecosystem of open source libraries in the world |
|||
* [https://developer.apple.com/library/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/Introduction.html OS X JavaScript for Applications] JavaScript as an OS X scripting language – supported by the Safari debugger |
|||
* [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells Other JavaScript shells] List maintained by Mozilla |
|||
* [https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js List of languages that compile to JS] maintained on Github by Jeremy Ashenas – author of CoffeeScript, Underscore and Backbone |
|||
* [http://shop.oreilly.com/product/0636920028857.do Functional JavaScript] – Michael Fogus, O'Reilly 2013 |
|||
==To do== |
|||
[[Tasks not implemented in JavaScript]] |
Latest revision as of 12:40, 29 December 2023
![Language](http://static.miraheze.org/rosettacodewiki/thumb/2/27/Rcode-button-language-crushed.png/64px-Rcode-button-language-crushed.png)
This programming language may be used to instruct a computer to perform a task.
Garbage collected: | Yes |
---|---|
Parameter passing methods: | By value |
Type strength: | Weak |
Type expression: | Implicit |
Type checking: | Dynamic |
See Also: |
JavaScript is the name of Netscape Communications Corporation's implementation of the ECMAScript standard, a scripting language based on the concept of prototype-based programming. The language is best known for its use in websites (as client-side JavaScript), but is also used to enable scripting access to objects embedded in other applications.
Despite the name, JavaScript is only distantly related to the Java programming language, the main similarity being their common debt to the C syntax. Semantically, JavaScript syntax has far more in common with the Self programming language.
JavaScript is a registered trademark of Sun Microsystems, Inc. It was used under license for technology invented and implemented by Netscape Communications and current entities such as the Mozilla Foundation.
Major browsers have generally implemented the features of ECMASScript 5 (ES5), and have started to adopt elements of ES6. Updates to implementation of ES6 features are tabulated here: https://kangax.github.io/compat-table/es6/
Once largely confined to browser environments, and typically isolated from access to system resources, JavaScript (and particularly the cross-platform Node.js runtime environment) is now very widely used in server-side and application scripting environments, with full access to local file systems and other OS resources.
At the same time, mainly because of JavaScript's role in the web, there is a growing number of other languages which compile to JavaScript.
The inclusion of tail-call optimisation in the ES6 standard reflects increased interest in functional approaches to the composition of JavaScript code, expressed for example, in significant adoption of libraries like Underscore and Lodash. If ES6 tail-call optimisation is widely implemented by JavaScript engines (so far this has mainly been achieved only by Apple's Safari engine) it will make JavaScript a more efficient and more natural environment for coding in a functional idiom.
Citations
- Wikipedia:Javascript
- Node.js Event-driven I/O server-side JavaScript environment based on V8
- npm – Node.js Package Manager Claims to be the largest ecosystem of open source libraries in the world
- OS X JavaScript for Applications JavaScript as an OS X scripting language – supported by the Safari debugger
- Other JavaScript shells List maintained by Mozilla
- List of languages that compile to JS maintained on Github by Jeremy Ashenas – author of CoffeeScript, Underscore and Backbone
- Functional JavaScript – Michael Fogus, O'Reilly 2013
To do
Subcategories
This category has the following 3 subcategories, out of 3 total.
@
- JavaScript User (309 P)
Pages in category "JavaScript"
The following 200 pages are in this category, out of 801 total.
(previous page) (next page)A
- A* search algorithm
- A+B
- Abbreviations, automatic
- Abbreviations, easy
- Abbreviations, simple
- ABC problem
- ABC words
- Abundant odd numbers
- Abundant, deficient and perfect number classifications
- Accumulator factory
- Ackermann function
- Active object
- Add a variable to a class instance at runtime
- AKS test for primes
- Align columns
- Almkvist-Giullera formula for pi
- Almost prime
- Amb
- Amicable pairs
- Anadromes
- Anagrams
- Anagrams/Deranged anagrams
- Angle difference between two bearings
- Angles (geometric), normalization and conversion
- Animate a pendulum
- Animation
- Anonymous recursion
- Anti-primes
- Apply a callback to an array
- Arbitrary-precision integers (included)
- Archimedean spiral
- Arithmetic coding/As a generalized change of radix
- Arithmetic evaluation
- Arithmetic-geometric mean
- Arithmetic/Complex
- Arithmetic/Integer
- Arithmetic/Rational
- Array concatenation
- Array length
- Arrays
- Ascending primes
- ASCII art diagram converter
- Aspect oriented programming
- Assertions
- Associative array/Creation
- Associative array/Iteration
- Associative array/Merging
- Attractive numbers
- Audio alarm
- Audio overlap loop
- Averages/Arithmetic mean
- Averages/Mean angle
- Averages/Mean time of day
- Averages/Median
- Averages/Mode
- Averages/Pythagorean means
- Averages/Root mean square
- Averages/Simple moving average
- AVL tree
B
- Babbage problem
- Balanced brackets
- Barnsley fern
- Base 16 numbers needing a to f
- Base64 decode data
- Base64 encode data
- Benford's law
- Best shuffle
- Binary digits
- Binary search
- Binary strings
- Bioinformatics/base count
- Bioinformatics/Sequence mutation
- Bitmap
- Bitmap/Bresenham's line algorithm
- Bitmap/Bézier curves/Cubic
- Bitwise operations
- Black box
- Boolean values
- Box the compass
- Brace expansion
- Brace expansion using ranges
- Brownian tree
- Bulls and cows
C
- Caesar cipher
- Calculating the value of e
- Calendar
- Call a foreign-language function
- Call a function
- Call an object method
- Calmo numbers
- Canonicalize CIDR
- Cantor set
- Cartesian product of two or more lists
- Case-sensitivity of identifiers
- Casting out nines
- Catalan numbers
- Catalan numbers/Pascal's triangle
- Catamorphism
- Change e letters to i in words
- Chaocipher
- Chaos game
- Character codes
- Chat server
- Check output device is a terminal
- Check that file exists
- Chemical calculator
- Cheryl's birthday
- Chinese remainder theorem
- Chinese zodiac
- Cholesky decomposition
- Church numerals
- Circles of given radius through two points
- Cistercian numerals
- Classes
- Closest-pair problem
- Closures/Value capture
- Collections
- Combinations
- Combinations with repetitions
- Comma quibbling
- Command-line arguments
- Comments
- Common sorted list
- Compare a list of strings
- Compare length of two strings
- Compare sorting algorithms' performance
- Compiler/lexical analyzer
- Compound data type
- Concurrent computing
- Conditional structures
- Constrained random points on a circle
- Convert decimal number to rational
- Convert seconds to compound duration
- Convex hull
- Conway's Game of Life
- Copy a string
- Copy stdin to stdout
- Count how many vowels and consonants occur in a string
- Count in factors
- Count in octal
- Count occurrences of a substring
- Count the coins
- Cramer's rule
- CRC-32
- Create a file
- Create a two-dimensional array at runtime
- Create an HTML table
- Create an object/Native demonstration
- CSV data manipulation
- CSV to HTML translation
- Cumulative standard deviation
- Currency
- Currying
- CUSIP
D
- Damm algorithm
- Date format
- Date manipulation
- Day of the week
- Days between dates
- Deal cards for FreeCell
- Death Star
- Decision tables
- Decorate-sort-undecorate idiom
- Deepcopy
- Define a primitive data type
- Delegates
- Delete a file
- Department numbers
- Detect division by zero
- Determinant and permanent
- Determine if a string has all the same characters
- Determine if a string has all unique characters
- Determine if a string is collapsible
- Determine if a string is numeric
- Dice game probabilities
- Digital root
- Dijkstra's algorithm
- Dinesman's multiple-dwelling problem
- Disarium numbers
- Discordian date
- Display an outline as a nested table
- Distributed programming
- Diversity prediction theorem
- DNS query
- Dot product
- Doubly-linked list/Definition
- Doubly-linked list/Element definition
- Doubly-linked list/Element insertion
- Doubly-linked list/Traversal