์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ์์ ๋น๋ฐ ๋ถ์ฐ
- ๋ธ๋ก๊ทธ_์ด์ _๊ณํ๋ณด๋ค_์ง๊ธ_ํด์ผํ ๊ฒ_๋_๋ง์์_์ ์ง์์
- ๋น๋ฐ ๋ถ์ฐ ๊ธฐ๋ฒ
- ์ค๋ฏธ๋ฅด
- UX
- zero knowledge proof
- ๋์์ธ
- Adobe
- Shamir
- graph 3 coloring
- ํฌํ ์ต
- haze #ํ ์ํ๋ก #tensorflow #ai
- #์ํธํ์ด๋ก
- CC
- ์ด๋๋น
- Today
- Total
For Beginners
[JavaScript] JavaScript ์ ๋ฆฌ - 1 (ES6 ์ด์ ํ์ค ๋ชจ์) ๋ณธ๋ฌธ
[JavaScript] JavaScript ์ ๋ฆฌ - 1 (ES6 ์ด์ ํ์ค ๋ชจ์)
.log 2021. 3. 4. 11:32๐ ์น ๊ตฌ์ฑ ์์
์น ๊ตฌ์ฑ ์์ |
๋ด๋น |
HTML |
์น์ ๊ตฌ์กฐ |
CSS |
์น์ ํํ |
JavaScript |
์น์ ๊ธฐ๋ฅ |
HTML๊ณผ CSS๋ง์ผ๋ก๋ ์๊ฐ์ ์ธ ์น์ ๋ง๋ค ์ ์์ง๋ง, ์น์ ๊ธฐ๋ฅ์ ๋ง๋ค๊ธฐ๋ ์ด๋ ต๋ค.
JavaScript๋ ์น ๋ธ๋ผ์ฐ์ ์์ HTML๊ณผ ํจ๊ป ๋ค์ด๋ก๋ํ์ฌ ์คํํ๋ค.
๋ธ๋ผ์ฐ์ ์์๋ง ์คํ๋ ์ ์๋ค. (* node.js๋ ์์ธ)
๐ ์ต์ด์ ๋ธ๋ผ์ฐ์ : Netscape
์์ฌ์ ๋ธ๋ผ์ฐ์ ์ ํด๋นํ๋ ๊ท๊ฒฉ์ผ๋ก ์ค๊ตฌ๋๋ฐฉํ๊ฒ ๋ง๋ค์์ง๋ง, ์น ํ์ค์ด 1998๋ ์ ๊ฐ์ .
๐ Java์ JavaScript์ ์ฐจ์ด์
์ธ์ด |
์ฐจ์ด์ |
Java |
์ปดํ์ผ์ ํตํด ํด์ |
JavaScript |
์ธํฐํ๋ฆฌํฐ ์ธ์ด (๋ณ๋์ ์ปดํ์ผ ๊ณผ์ ์์) ์ปดํ์ผ ๊ณผ์ ๋ณด๋ค ๋๋ฆฌ๊ณ , ํ ์ค์ฉ ์ํํ๋ค. |
๐ JavaScript์ ์ ์ธ
1. HTML ๋ด๋ถ์์ ์ ์ธํ๋ ๊ฒ
2. ์ธ๋ถ์์ ์ ์ธํ๊ณ , src ์์ฑ์ ํตํด ๊ฐ์ ธ์ค๋ ๊ฒ
<script> ํ๊ทธ๋ <head><body>์ ์ด๋ ๊ณณ์์๋ ์ ์ธ์ด ๊ฐ๋ฅ
head์ ๋ฃ์ด์ผ ํ ๊ธฐ๋ฅ๊ณผ ๋ฃ์ง ๋ง์์ผ ํ ๊ธฐ๋ฅ์ด ์์.
๋ฉ์๋์ฒ๋ผ ์๊ฒผ์ง๋ง, ์ผ๊ธ ๊ฐ์ฒด๋ผ์ ๋ฉ์๋์๋ ๋ค๋ฅธ ์ ์ด ์๋ค๊ณ ํ๋ค.
์์ฑ๋๊ธฐ ์ด์ ์ ์คํ๋๋ฉด ์ํ๋์ง ์๋ ๊ฒฝ์ฐ์๋ ํ๊ทธ ์ดํ์ ์ ์ธ
๋ฏธ๋ฆฌ ๋ก๋ฉ์ ํ๋ ๊ฒ์ด ์ข์ผ๋ฉด head์ ์ ์ธ.
๐ static dynamic์ ์ฐจ์ด
์ฌ์ฉ์๊ฐ ์ ๋ ฅํ๋ ๋๋ก ๋ณํ : dynamic
์ ์ ์น : static
Java๋ฅผ ์ ์ธํ ์น ํ์ผ๋ค์ ๋ค WebContent์์ ๋ค์ด๊ฐ๋ค.
๐ script ์์ 1
window : ์ฐฝ์ ์๋ฏธํ๋ค.
setInterval : ํจ์(์ผ๊ธ ๊ฐ์ฒด)๋ฅผ ํธ์ถํ ์ฃผ๊ธฐ๋ฅผ ์ค์ ํ๋ค.
setTimeout : ํจ์๋ฅผ 1ํ๋ก ํธ์ถํ ์ฃผ๊ธฐ๋ฅผ ์ค์ ํ๋ค.
document : html ํ์ผ(body) ๋ด๋ถ
getElement : document ํ์ผ ๋ด์ ์๋ ํ๊ทธ๋ฅผ ๊ฐ์ ธ์จ๋ค.
๐ ์ฃผ์
์๋ฐ์ ๋๊ฐ๋ค. ์๋ฐ๋ ๋๊ฐ์ ์ ๋์ด๊ฐ๊ฒ ๋ค.
๐ ๋ณ์
var ๋ผ๋ ๋ณ์๋ผ๊ณ ์ ์ธํ๋๋ฐ, ํ์ ์ ๋ฐ๋ก ๋ช ์ํ์ง ์๋๋ค.
์๋์ผ๋ก ๋ณ์์ ํ์ ์ด ๊ฒฐ์ ๋๋ค.
๋ณ์ ์ด๋ฆ์ ํจ์ ์ด๋ฆ๊ณผ ํผ๋๋์ง ์๋๋ก ์ ์ผํ ์ด๋ฆ์ ์ฌ์ฉํ๋ค. (๋ณ์ : ํ์ฉ์ฌ/๋ช ์ฌ, ํจ์ : ๋์ฌ)
(๋ฎ์ด์ฐ๊ธฐํ๊ธฐ ๋๋ฌธ์ ์ํํ๊ณ , ํท๊ฐ๋ฆด ์ ์๊ฒ ๋๋ค)
์นด๋ฉ ํ๊ธฐ๋ฒ์ผ๋ก ์์ฑํ๋ค.
๐ ์๋ฃํ
์์ ํ์ (primitive type) ๊ฐ์ฒด ํ์ (object type)์ผ๋ก ๋ถ๋ฅ
์๋ฃํ | ์ถ๋ ฅ ๊ฐ | ์ค๋ช |
์ซ์ํ | number | ์ ์ ๋๋ ์ค์ |
๋ฌธ์์ดํ | string | ๋ฌธ์, ' ๋๋ "๋ก ํ๊ธฐ |
booleanํ | boolean | ์ฐธ๊ณผ ๊ฑฐ์ง |
undefined | undefined | ๋ณ์๊ฐ ์ ์ธ๋์์ง๋ง, ์ด๊ธฐํ๊ฐ ๋์ง ์์ |
null | object | ๊ฐ์ด ์กด์ฌํ์ง ์์ |
๐ ์ดํด๋ฆฝ์ค์์ script ์๋์์ฑ
configure -> tern project -> browser ์ฒดํฌ
๐ ์๋ฌ๊ฐ ์๋๋ ๋์ ๋์ค๋ ๊ฒฝ์ฐ ๋ชจ์
console.log(0 / 0); // Nan
console.log(parseInt('1A') // 1 (์ซ์์ธ ๋ถ๋ถ๊น์ง๋ง ์ฝ๊ณ ๋ฌธ์๊ฐ ๋์ค๋ฉด ์ฝ์ง ์์
console.log(parseInt('A') // NaN (not a number)
๐ ๋ฌธ์์ด
์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๊ธ์๋ ๋ฌธ์์ด๋ก ํํ (char๊ฐ ์์)
\๋ ์ฌ์ฉ๊ฐ๋ฅ(๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ์ค๋ฐ๊ฟ์ ์ด์ฉํ๋ ๋ฑ)
(* ๋ฐฑํฑ : ` ์ ์ด์ฉํด์ ๋ฌธ์์ด ํํ๋ ๊ฐ๋ฅ - ES6๋ถํฐ)
์์ ๋ฐ์ดํ์ ํฐ ๋ฐ์ดํ ๋ ๋ค ์ฌ์ฉ๊ฐ๋ฅํ์ง๋ง, ํ๋์ ๋ฌธ์ฅ์ ํผ์ฉ์ ๋ถ๊ฐ.
๐ boolean, null, undefined
null : ๊ฐ์ด ์์ (๋น์ด์์)
undefined : ๊ฐ์ด ์ด๊ธฐํ๋์ง ์์์
์ฝ๋์์ ๋ช ์์ ์ผ๋ก ๊ฐ์ด ์์์ ๋ํ๋ผ ๋๋ null์ ์ฌ์ฉ.
๐ ์๋ ํ ๋ณํ
์ด๋ค ์๋ฃํ์ด๋ ์ ๋ฌํ ์ ์๊ณ , ๊ทธ ๊ฐ์ ํ์์ ๋ฐ๋ผ ๋ณํ ๊ฐ๋ฅ.
๋ฌธ์์ด์ 40์์ 5๋ฅผ ๋นผ๋ฉด ์๋์ผ๋ก ์ซ์๋ฅผ ๋ฐ๊พธ์ด์ค๋ค. (๋นผ๊ธฐ์ฐ์ฐ์ด ๋ฌธ์์ด์์๋ ์ฌ์ฉ๋์ง ์์)
ํ์ง๋ง, ๋ฌธ์์ด์ 40์์ 5๋ฅผ ๋ํ๋ฉด 405๊ฐ ๋์ด๋ฒ๋ฆฐ๋ค.
๊ทธ ๊ฒฝ์ฐ์๋ parseInt/parseFloat๋ฅผ ์ด์ฉํ์ฌ ์ซ์๋ก ๋ณํํด์ฃผ์ด์ผ ํ๋ค.
๋ง์ฝ parseInt ๊ฐ์๊ฑฐ๋ฅผ ์ฐ๊ธฐ ์ซ์ผ๋ฉด ์์ ๋จํญ ์ฐ์ฐ์๋ฅผ ๋ถ์ฌ๋ฒ๋ฆฌ๋ฉด ์ซ์๋ก ์ธ์ํ๊ฒ ๋๋ค.
๐ ๋ณ์ ํธ์ด์คํ
๋ชจ๋ ์ ์ธ๋ฌธ์ด ํด๋น ์ค์ฝํ์ ์ฒ์์ผ๋ก ์ฎ๊ฒจ์ง ๊ฒ์ฒ๋ผ ๋์ํ๋ ํน์ฑ
์ ์ธ ๋จ๊ณ : ๊ฐ์ฒด์ ๋ณ์๋ฅผ ๋ฑ๋ก
์ด๊ธฐํ ๋จ๊ณ : ๋ณ์ ๊ฐ์ฒด์ ๋ฑ๋ก๋ ๋ณ์๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น
ํ ๋น ๋จ๊ณ : undefined๋ ๋ณ์์ ์ค์ ๊ฐ์ ํ ๋น
(* const, let ์ ์ด์ฉํ์ฌ ํ์ ์ ๋ณ์ ์ฌ์ฉํ ๋, ์ค๋ณต๋๋ ๊ฒฝ์ฐ๋ฅผ ๋ฐฉ์ง - ES6 ๋ถํฐ)
๐ ์์
๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด ์์์ ์ผ๋ฐ ๋ณ์๋ฅผ ๊ตฌ๋ถํ๊ณ ์ ๋ช ๋ช ๊ท์น์ ๋ค๋ฅด๊ฒ ํ์ฌ ์ฌ์ฉ.
๋ชจ๋ ๋ณ์ ์ด๋ฆ์ ๋๋ฌธ์๋ก ์์ฑํ๊ณ , ์ธ๋๋ฐ๋ก ์ฐ๊ฒฐ
(์์๋ผ๋ ๊ฐ๋ ์ ES6๋ถํฐ ๋์ ์ด ๋์๋ค)
ํค์๋ | ๊ตฌ๋ถ | ์ ์ธ ์์น | ์ฌ์ ์ธ |
var | ๋ณ์ | ์ ์ญ ์ค์ฝํ | ๊ฐ๋ฅ |
let | ๋ณ์ | ํด๋น ์ค์ฝํ | ๋ถ๊ฐ๋ฅ |
const | ์์ | ํด๋น ์ค์ฝํ | ๋ถ๊ฐ๋ฅ |
let์ ์ง์ญ๋ณ์์ ๋๋, var์ ์ ์ญ๋ณ์์ ๋๋์ผ๋ก ์ ๊ทผํ๋ ๊ฒ์ด ์ข๋ค.
๋์ ๊ฐ์ ๋ณ์๋ช ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
๐ ์ฐ์ฐ์
์ฐ์ฐ์ | ์ค๋ช |
=== | ๊ฐ์ด ์ผ์นํ๋์ง ํ์ธ |
!== | ๊ฐ์ด ์ผ์นํ์ง ์๋์ง ํ์ธ |
& | ๋นํธ ๋จ์ ์ฐ์ฐ์๋ก AND |
^ | ๋นํธ ๋จ์ ์ฐ์ฐ์๋ก XOR |
| | ๋นํธ ๋จ์ ์ฐ์ฐ์๋ก OR |
&& | AND |
|| | OR |
?: | ์กฐ๊ฑด์ ํด๋นํ๋ ๊ตฌ๋ฌธ์ ์ํ |
= | ๋ณ์ ๋๋ ํ๋กํผํฐ์ ๊ฐ์ ํ ๋น |
. | 1๋ฒ์งธ ๊ตฌ๋ฌธ์ ๋ฒ๋ฆฌ๊ณ ๋ค์ ๊ตฌ๋ฌธ ๊ฐ์ ๋ฐํ |
๐ ๋ฐ๋ณต๋ฌธ
for in / for each
๐ ๊ฐ์ฒด ์์ฑ ๋ฐฉ๋ฒ
1. ๊ฐ์ฒด ๋ฆฌํฐ๋ด
- ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ
- {} ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑ, {} ๋ด์ 1๊ฐ ์ด์์ ํ๋กํผํฐ๋ฅผ ์ถ๊ฐํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑ.
var obj = {}; // empty obejct
console.log(typeof obj);
var student = {
name: '๊น์์ง',
area: '์์ธ',
classNum: 11,
info: function () {
console.log(this.name + '์ ' + this.area + this.classNum + '๋ฐ');
},
};
2. Object ์์ฑ์ ํจ์
- new ์ฐ์ฐ์์ Object ์์ฑ์ ํจ์๋ฅผ ํธ์ถํ์ฌ ๋น ๊ฐ์ฒด๋ฅผ ์์ฑ.
- ๋น ๊ฐ์ฒด ์์ฑ ํ ํ๋กํผํฐ ๋ฉ์๋ ์ถ๊ฐ
var student = new Object(); // empty obejct
// property ์ถ๊ฐ
student.name = '๊น์์ง';
student.area = '์์ธ';
student.classNum = 11;
student.info = function () {
console.log(this.name + '์ ' + this.area + this.classNum + '๋ฐ');
};
3. ์์ฑ์ ํจ์
- ํ๋กํผํฐ๊ฐ ๋์ผํ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์์ฑ ๊ฐ๋ฅ.
// ์์ฑ์ ํจ์
function Student(name, area, classNum) {
this.name = name;
this.area = area;
this.classNum = classNum;
this.info = function () {
console.log(this.name + '์ ' + this.area + this.classNum + '๋ฐ');
};
}
// ๊ฐ์ฒด ์์ฑ.
var student1 = new Student('๊น์์ง1', '์์ธ1', 11);
var student2 = new Student('๊น์์ง2', '์์ธ2', 12);
๐ ์์ฑ ๊ฐ ์กฐํ
this.์์ฑ์ด๋ฆ ๋๋ ["์์ฑ์ด๋ฆ"] ์ด๋ฐ ์์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
์ ๊ทผํ๋ ์์ฑ์ ์ด๋ฆ์ ๋ฐ๋์ ๋ฌธ์์ด์ด์ด์ผ ํ๋ค.
์ด๋ฆ์ ์ฐ์ฐ์๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๋ฉด, ๋ฌธ์์ด๋ก ์ธ์ํ์ง ์์ผ๋ฏ๋ก ๋๊ดํธ ๋ด์ "" ๋ฌธ์์ด๋ก ๋ฃ์ด ์ ๊ทผํ์ฌ์ผ ํ๋ค.
console.log(member.age); //O
console.log(member['age']); //O
console.log(member.user-name); //X
console.log(member["user-name"]); //O
๐ ์์ฑ ๊ฐ ๋ณ๊ฒฝ, ์ถ๊ฐ, ์ ๊ฑฐ
// ์์ฑ์ ๊ฐ ๋ณ๊ฒฝ
member.age = 30;
member['city'] = '๊ฒฝ๊ธฐ๋';
console.log(member['age']); // 30
console.log(member.city); // ๊ฒฝ๊ธฐ๋
// ์์ฑ ์ถ๊ฐ
member.tel = '010-1234-5678';
console.log(member.tel); //010-1234-5678
// ์์ฑ ์ ๊ฑฐ
delete member.tel;
๐ ๊ฐ์ฒด ์ฐธ์กฐ
๊ฐ์ ๋ณต์ฌํ๋ ๊ฒ์ด ์๋๋ผ, ์ฃผ์๋ฅผ ๋ณต์ฌํจ!
๐ ๊ฐ์ฒด์ ๋ถ๋ฅ
document๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ๊ฒ์ผ๋ก DOM script๋ผ๊ณ ํ๋ค.
๐ ํจ์์ ์ ์ธ, ํธ์ถ, ํธ์ด์คํ
์ผ๊ธ ๊ฐ์ฒด์ ์ ์ธ, ์ ์ธ ์์น์ ์๊ด ์์ด ์ด๋ ๊ณณ์ด๋ ์ง ํธ์ถ์ด ๊ฐ๋ฅ.
ํจ์ ์ ์ธ๋ฌธ์ผ๋ก ์์ฑ๋ ํจ์๋ ๋ณ์ ๊ฐ์ฒด ์ ์ฅํ๋ค.
ํจ์ ์ ์ธ, ์ด๊ธฐํ, ํ ๋น์ด ํ ๋ฒ์ ์ด๋ฃจ์ด์ง๋ค.
ํจ์ ํํ์์ ๊ฒฝ์ฐ ํจ์ ํธ์ด์คํ ์ด ์๋๋ผ ๋ณ์ ํธ์ด์คํ ์ด ๋ฐ์ํ๋ฏ๋ก ํธ์ถ ์ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ.
๐ ์ฝ๋ฐฑ ํจ์
๋งค๊ฐ ๋ณ์๋ฅผ ํตํด ์ ๋ฌ๋๊ณ , ์ ๋ฌ ๋ฐ์ ํจ์์ ๋ด๋ถ์์ ์ด๋ ํน์ ์์ ์ ์คํ๋จ.
์ด๋ฒคํธ ํธ๋ค๋ฌ์์ ๋ฆฌ์ค๋๊ฐ ๊ฐ์ํ๊ณ ์๋ค๊ฐ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด function ํธ์ถ
setTimeout()์์๋ ์ผ์ ์๊ฐ์ด ๊ฒฝ๊ณผํ๋ฉด ํจ์๋ฅผ ํธ์ถํ๋ค.
'2021๋ ์๋ฃ > WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] JavaScript ์ ๋ฆฌ - 4 (๊ธฐ์กด ๋ด์ฉ ๋ณต์ต) (0) | 2021.03.05 |
---|---|
[JavaScript] JavaScript ์ ๋ฆฌ - 3 (๋ธ๋ผ์ฐ์ , ์๋์ฐ ๊ฐ์ฒด) (0) | 2021.03.04 |
[JavaScript] JavaScript ์ ๋ฆฌ - 2 (Java์ ์ฐจ์ด, ๊ธฐ๋ณธ ํน์ง) (0) | 2021.03.04 |
[JavaScript] tern ํ๋ฌ๊ทธ์ธ ์ดํด๋ฆฝ์ค์ ์ ์ฉํ๊ธฐ. (0) | 2021.03.04 |
[HTML5] HTML ํ๊ทธ์ ์์ ์ ๋ฆฌ (0) | 2021.03.04 |