دی 1403 - رسول پاشایی
پیش نیاز های دوره
(let loop ((n 1))
(if (> n 10)
'()
(cons n
(loop (+ n 1)))))
===> (1 2 3 4 5 6 7 8 9 10)ECMAScript
Platform (Browser, Node, Mobile, ... )
Run-time (V8, Spidermonkey, Chakra, ...)
Chrome - V8
Firefox - SpiderMonkey
MS Edge - Chakra
Node?
Bun
Deno
Rhino
Electron
Tauri
AppJS
nodewebkit
Bracket Shell
Tauri
Cordova
Capacitor
NativeScript
ReactNative
MongoDB
PunchDB
NeDB
JerryScript
Espruino
Duktape
| Edition | Formal name | Release date |
|---|---|---|
| ES1 | ES1 | June 1997 |
| ES2 | ES2 | June 1998 |
| ES3 | ES3 | December 1999 |
| ES4 | ES4 | Disposed |
| ES5 | ES5 | December 2009 |
| ES 5.1 | ES 5.1 | June 2011 |
| ES6 | ES2015 | June 2015 |
| ES7 | ES2016 | June 2016 |
| ES8 | ES2017 | June 2017 |
| ES9 | ES2018 | June 2018 |
| ES10 | ES2019 | June 2019 |
| ES11 | ES2020 | June 2020 |
| ES12 | ES2021 | June 2021 |
| ES13 | ES2022 | June 2022 |
| ES14 | ES2023 | June 2023 |
| ES15 | ES2024 | June 2024 |
Hypertext Transfer Protocol
Uniform Resource Locator
URL
Header - None mandatory
Method
Body
More Details https://httpstatuses.com/
Hypertext Markup Language
Element vs Attribute
<!DOCTYPE html>
<html>
<head>
<title>This is a title</title>
</head>
<body>
<p>Hello world!</p>
</body>
</html><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<title>Login</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="span12">
<form class="form-horizontal" action='' method="POST">
<fieldset>
<div id="legend">
<legend class="">Login</legend>
</div>
<div class="control-group">
<!-- Username -->
<label class="control-label" for="username">Username</label>
<div class="controls">
<input type="text" id="username" name="username" placeholder="" class="input-xlarge" required data-validation-endpoint="check-username-exists.php" >
</div>
</div>
<div class="control-group">
<!-- Password-->
<label class="control-label" for="password">Password</label>
<div class="controls">
<input type="password" id="password" name="password" placeholder="" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- Button -->
<div class="controls">
<button class="btn btn-success">Login</button>
</div>
</div>
</fieldset>
</form>
</div>
</div>
</div>
</body>
</html>Cascading Style Sheets
#page>div.logo+ul#navigation>li*5>a{Item $}<div id="page">
<div class="logo"></div>
<ul id="navigation">
<li><a href="">Item 1</a></li>
<li><a href="">Item 2</a></li>
<li><a href="">Item 3</a></li>
<li><a href="">Item 4</a></li>
<li><a href="">Item 5</a></li>
</ul>
</div>