๐ก ECMAScript ๋?
JavaScript๊ฐ ๋ท์ค์ผ์ดํ ์ปค๋ฎค๋์ผ์ด์ ์ฆ๋ก๋ถํฐ ๊ฐ๋ฐ๋๊ณ ๋์, MS์์ JScript๋ฅผ ๊ฐ๋ฐํ์๋ค.
๋ ์ธ์ด๋ ์๋ก ํธํ๋์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์์ด ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง ์ด์๊ฐ ๋ฐ์ํ์๋ค.
์ด ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง ์ด์๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด JavaScript๋ฅผ ํ์คํ๋ฅผ ํ๋ค.๊ทธ๊ฒ ๋ฐ๋ก ECMAScript ์ด๋ค.(ECMAScript๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ด์ ๋ ๋น์๋ฆฌ ํ์คํ๊ธฐ๊ตฌ์ธ ์ธํฐ๋ด์ ๋์ด Javascript ํ์คํ ์์ฒญ์ ํ๊ธฐ ๋๋ฌธ์ด๋ค.)
์ฐ๋ฆฌ๊ฐ ํํ ์ฌ์ฉํ๋ ES5, ES6์ ๋ฒ์ ์ซ์๋ฅผ ๋ถ์ฌ ECMAScript๋ฅผ ์ค์ฌ์ฐ๋ ๋ง์ด๋ค.์ฐธ๊ณ ๋ก 2015๋ ์ ๋์จ ๊ฒ์ด ES5์ด๊ณ 2016๋ ์ ๋์จ ๊ฒ์ด ES6๋ผ๊ณ ์ฐฉ๊ฐํ ์ ์๋๋ฐ,ES5๋ 2009๋ ์ ๋ฐํ๋์๊ณ ES6๋ 2015๋ ์ ๋ฐํ๋์๋ค.
1. ์๋ฐ์คํฌ๋ฆฝํธ ์์ํ๊ธฐ
- html ๋ฌธ์์ <script type="text/javascript>๋ก ์ ์ธํ์ฌ ์ฌ์ฉ
- ํ์ฌ ๋ง์ ๊ฐ๋ฐ์๋ค์ด ์คํฌ๋ฆฝํธ๋ฅผ <head>ํ๊ทธ ์์์ ์ฌ์ฉ
- ์ ์ผ ์ข์ ๋ฐฉ์์ <body>์ ์ตํ๋จ์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ ๊ฒ
- <body>ํ๊ทธ ์ตํ๋จ์ ์์ด์ผ ๋ชจ๋ html ํ๊ทธ๋ค์ด ๋ก๋๋ ํ์ ์คํฌ๋ฆฝํธ๊ฐ ์คํ
2. ์ธ๋ถ ์๋ฐ์คํฌ๋ฆฝํธ ์ฌ์ฉ
- ์์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ(.js)๋ก ๋ง๋ค์ด์ html ๋ฌธ์์์ ํธ์ถ
- <script type="text/javascript" src="jsํ์ผ ๊ฒฝ๋ก">
3. ๋ณ์
- ES5์์๋ ๋ชจ๋ ๋ณ์๋ var๋ก ์ ์ธ
- var ๋ณ์๋ช
; ๋๋ var ๋ณ์๋ช
= ์ด๊ธฐํ ๊ฐ;
- var๋ก ์ ์ฅํ ์ ์๋ ํ์
์ ์ ์ํ, ์ค์ํ, ๋ฌธ์์ด, ๋
ผ๋ฆฌํ, null ...
- ๋ฌธ์ํ๋ฐ์ดํฐ๋ ''๋ "" ๋ฌถ์ด์ ํ์
- ๋ฌธ์ํ๋ฐ์ดํฐ์ ํ๊ทธ๋ฅผ ํฌํจํ๋ฉด html ํ๊ทธ๋ก ์ธ์
- ์ซ์ํ๋ฐ์ดํฐ๋ ์ซ์๋ง ์ง์ ํด์ผ๋จ "100"->๋ฌธ์์ด๋ก ์ธ์
- ๋
ผ๋ฆฌํ๋ฐ์ดํฐ๋ true, false๋ง ์ง์ ๊ฐ๋ฅ, ์กฐ๊ฑด์์ผ๋ก๋ true๋ false ์ง์ ๊ฐ๋ฅ
ex) var bool = 10 < 100; -> bool = true
- undefined์ ๋ณ์์ ์๋ฌด ๊ฐ์ด ๋ฑ๋ก๋์ด ์์ง ์์ ์ํ
ex) var s; -> s = undefined
- null์ ๋ณ์์ null ๊ฐ์ ์ ์ฅํ ์ํ
ex) var t = null;
4. typeof ๋ฉ์๋
- ๋ณ์์ ์ ์ฅ๋ ๋ฐ์ดํฐ ํ์ ์๊ณ ์ถ์ ๋ ์ฌ์ฉ
5. ์ฐ์ฐ์
- ์ฐ์ ์ฐ์ฐ์ : +, -, *, /, %
- ๋ฌธ์์ด ๊ฒฐํฉ ์ฐ์ฐ์ : +
๋ฌธ์์ด + ๋ฌธ์์ด = ๋ฌธ์์ด
๋ฌธ์์ด + ์ซ์ํ = ๋ฌธ์์ด
- ๋์
์ฐ์ฐ์ : =, +=, -=, *=, /=, %=
- ์ฆ๊ฐ์ฐ์ฐ์ : ++, --
- ๋น๊ต์ฐ์ฐ์ : >, <, >=, <=, ==, !=, ===, !==
- ๋
ผ๋ฆฌ์ฐ์ฐ์ : ||, &&, !
- ์ผํญ ์กฐ๊ฑด์ฐ์ฐ์ : ์กฐ๊ฑด์ ? ๊ฒฐ๊ณผ1 : ๊ฒฐ๊ณผ2
6. ์กฐ๊ฑด๋ฌธ
- if๋ฌธ๊ณผ switch case๋ฌธ์ด ์กด์ฌ
- if(์กฐ๊ฑด์1) {
} else if (์กฐ๊ฑด์2) {
} else {
}
- switch(๋ณ์) {
case ์กฐ๊ฑด1 :
์คํ๋ฌธ1
break;
case ์กฐ๊ฑด2 :
์คํ๋ฌธ2
break;
default:
์คํ๋ฌธ3;
}
7. ๋ฐ๋ณต๋ฌธ
- while, do while, for๋ฌธ์ด ์กด์ฌ
- while(์กฐ๊ฑด์) {
์คํ๋ฌธ;
}
- do {
์คํ๋ฌธ;
} while(์กฐ๊ฑด์);
- for(์ด๊ธฐ๊ฐ; ์กฐ๊ฑด์; ์ฆ๊ฐ์) {
์คํ๋ฌธ;
}
8. ๊ฐ์ฒด
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด์งํฅ์ธ์ด๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
9. ๊ฐ์ฒด์ ์ข
๋ฅ
- ๋ด์ฅ๊ฐ์ฒด : String, Date, Array, Math ๋ฑ...
- BOM(Browser Object Model) : ๋ธ๋ผ์ฐ์ ์ ์ ๊ทผํ ์ ์๋ ๊ฐ์ฒด
window, screen, location, history, navigator ๋ฑ...
- DOM(Document Object Model) : HTML ๋ฌธ์์ ์ ๊ทผํ ์ ์๋ ๊ฐ์ฒด
HTML ํ๊ทธ๋ค์ ์ ๊ทผํ์ฌ ์ง์ ์กฐ์ ๊ฐ๋ฅ
10. ๋ด์ฅ๊ฐ์ฒด
- Date : ํ์ฌ ๋ ์ง์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฐ์ฒด
- Number : ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ซ์๋ฅผ ํ๊ธฐํ ๋ ์ฌ์ฉ
์ซ์์ ์์ฑ์ด๋ ๋ฉ์๋ ์ฌ์ฉ๊ฐ๋ฅ
- Math : ์ํ๊ณผ ๊ด๋ จ๋ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ ๊ฐ์ฒด
- Array : ํ๋์ ๋ฐฐ์ด ๋ชจ๋ ๋ฐ์ดํฐํ์ด ๋ค์ด๊ฐ ์ ์๋ค.
๊ธธ์ด๋ ์ง์ ์ ํด๋ ๋๋ค.
๋ฐฐ์ด ์ ์ธ ๋ฐฉ์
1. var arr = new Array();
arr[0] = 1;
arr[1] = "ํ๊ธธ๋";
arr[2] = true;
2. var arr = new Array(1, "ํ๊ธธ๋", true);
3. var arr = [1, "ํ๊ธธ๋", true];
๋ฐฐ์ด ๋ฐ์ดํฐ ์ ๊ทผ : arr[index]
- String : ๋ฌธ์์ด ๊ฐ์ฒด, ์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋จ
๋ฌธ์์ด ์ ์ธ
1. var str = new String(๋ฌธ์์ด);
2. var str = "๋ฌธ์์ด";
11. BOM(Browser Object Model)
- window ์ต์์ ๊ฐ์ฒด
- window - document, screen, location, history, navigator
- window์ ๋ฉ์๋
1. window.open('url', ์ฐฝ์ด๋ฆ, ์ต์
);
์ ์ฐฝ์ด๋ ํ์
์ ๋์ธ ๋ ์ฃผ๋ก ์ฌ์ฉ
2. alert('๊ฒฝ๊ณ ๋ฉ์์ง');
์๋ฆผ์ฐฝ ๋์์ค
3. prompt('์ง์๋ด์ฉ', ์ด๊ธฐ๊ฐ);
์ฌ์ฉ์ ์
๋ ฅ์ ๋ฐ์ ์ ์๋ ์ฐฝ์ ํ๋ ๋์์ค
4. confirm('์ง์๋ด์ฉ');
ํ์ธ์ฐฝ ๋์์ค, ํ์ธ ํด๋ฆญ์ true, ์ทจ์ ํด๋ฆญ์ false ๋ฐํ
5. setInterval/clearInterval
setInterval์ ํน์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ๋์ผํ ๋์ ์คํ
var interval = setInterval(function() {
๋ฐ๋ณต๋ ๋์;
}, ๋ฐ๋ณต ์๊ฐ ๊ฐ๊ฒฉ(ms));
clearInterval์ setInterval๋ก ๋์ํ๋ ๋์์ ์ทจ์ํ ๋ ์ฌ์ฉ
clearInterval(์ธํฐ๋ฒ ๋ณ์ ๋ช
);
6. setTimeout/clearTimeout
setTimeout ํน์ ์๊ฐ ํ์ ๋์์ ํ ๋ฒ ์คํ์ํด
var timeout = setTimeout(function() {
์คํ๋ ๋์
}, ํน์ ์๊ฐ(ms));
clearTimeout์ setTimeout์ ํด์งํจ
clearTimeout(ํ์์์ ๋ณ์๋ช
);
setTimeout์ ์ฌ๊ทํจ์๋ก ํธ์ถ ์ setInterval๊ณผ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์
12. DOM(Document Object Model)
- HTML๋ฌธ์์ ์ ์ธ๋ ํ๊ทธ๋ค์ ์ง์ ์ ๊ทผํ์ฌ ์กฐ์์ด ๊ฐ๋ฅํ ๊ฐ์ฒด
- ์ ํ์์ ์ข
๋ฅ
document.getElementById('์์ด๋๋ช
') : ํ๊ทธ์ ์ง์ ๋ ์์ด๋๋ก ์์๋ฅผ ์ ํ
document.getElementsByTagName('ํ๊ทธ๋ช
') : ํ๊ทธ๋ช
์ผ๋ก ์์๋ฅผ ์ ํ
document.getElementsByClassName('ํด๋์ค๋ช
') : ํ๊ทธ์ ์ง์ ๋ ํด๋์ค๋ก ์์๋ฅผ ์ ํ
- css ์ ์ฉ๋ฒ
document.์ ํ์.style.์์ฑ = ์์ฑ๊ฐ;
- ์์์ ์์ฑ ๊ฐ ๋ณ๊ฒฝ ๋ฐ ์์ฑ
์์์ ํ.์์ฑ๋ช
; : ํ์ฌ ์์ฑ์ ์ง์ ๋ ๊ฐ ๋ถ๋ฌ์ด
์์์ ํ.์์ฑ๋ช
= ๊ฐ; : ์์์ ์์ฑ์ ์๋ก์ด ๊ฐ์ ๋ฃ์ด์ค
์์์ ํ.getAttribute('์์ฑ') : ํ์ฌ ์์ฑ์ ์ง์ ๋ ๊ฐ ๋ถ๋ฌ์ด
์์์ ํ.setAttribute('์์ฑ', '๊ฐ') : ์์์ ์์ฑ์ ์๋ก์ด ๊ฐ์ ๋ฃ์ด์ค
์์์ ํ.innerHTML; : ์ ํ๋ ์์์ ๋ชจ๋ ํ์์์๋ค์ ๋ฌธ์์ด๋ก ๋ฐํ
์์์ ํ.innerHTML = ์์์; : ์ ํ๋ ์์์ ํ์์์๋ฅผ ์ญ์ ํ๊ณ ์์์ ์ถ๊ฐ
- ์ด๋ฒคํธํธ๋ค๋ฌ
์์์ ํ.์ด๋ฒคํธ์ข
๋ฅ = function() {
์คํ๋ฌธ;
}
onclick, onmouseover, onmouseout, submit
'#1 Language ๐ > 1-2 Javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ํด๋ผ์ด์ธํธ ์ฌ์ด๋ vs ์๋ฒ ์ฌ์ด๋ (0) | 2023.03.31 |
---|---|
[Javascript] ๋ํ์์ alet, prompt, comfirm (0) | 2022.11.18 |
[Javascript] ECMAScript 6 (ES6)_2 (0) | 2022.11.18 |
[Javascript] ECMAScript 6 (ES6)_1 (2) | 2022.11.18 |
[JavaScript] JavaScript์ ์ญ์ฌ์ ํ์ฌ, ๋ฏธ๋ (0) | 2022.11.03 |