๊ฐ์ฒด๋?
๊ฐ์ฒด๋ Key์ Value๋ก ๊ตฌ์ฑ๋ property์ method๋ฅผ ๊ฐ์ง ์ ์๋ค.
์ฌ์ค ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด๋ผ๊ณ ํ ์ ๋๋ก ์ค์ํ ๊ฐ๋ ์ด๋ค.
๊ฐ property๋ ์ผํ๋ก ๊ตฌ๋ถ๋๋ฉฐ, ๋ง์ง๋ง property์ ์ผํ๋ ์์ด๋ ๋์ง๋ง ์๋๊ฒ ์ฝ๋๊ด๋ฆฌ์ ์ฉ์ดํ๋ค.
๊ฐ์ฒด์ ์ ๊ทผ, ์ถ๊ฐ, ์ญ์ ๋ฌธ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | const superman={ name:'clark', age:33, } //์ ๊ทผ console.log(superman.name) console.log(superman['age']) //์ถ๊ฐ superman.gender='male' superman['hairColor']='black' //์ญ์ delete superman.hairColor | cs |
๋จ์ถ property๋ผ๋๊ฒ์ ์ฌ์ฉํ๋ฉด ์ด๋ฏธ ์ ์ธ๋ ๋ณ์๋ฅผ ๋ฐํ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๋ฐ ์ฉ์ดํ๋ค.
1 2 3 4 5 6 7 8 9 10 | name='clark' age=33 const superman={ name, age, gender : 'male', } console.log(superman.name)//'clark'์ ์ถ๋ ฅํจ. | cs |
๋ง์ฝ ์กด์ฌํ์ง ์๋ property์ ์ ๊ทผํ๋ ค๊ณ ํ๋ฉด ์๋ฌ๋ฅผ ๋ฐ์์ํค๋๊ฒ ์๋๋ผ undefined๋ฅผ ๋๋ ค์ค๋ค.
๋ง์ฝ ๊ฐ์ฒด๊ฐ ์ด๋ค property๋ฅผ ๊ฐ์ง๋์ง ํ์ธํ๋ ค๋ฉด in์ ํตํด ํ์ธํ ์ ์๋ค.
'name' in superman // true
'length' in superman // false
for...in๋ฌธ์ ํ์ฉํ๋ฉด ๊ฐ์ฒด์ property๋ฅผ ์ฝ๊ฒ ํ์ํ ์ ์๋ค.
1 2 3 4 5 6 7 8 9 10 | const superman={ name : 'GY', age : '24', gender : 'male', } for(let i in superman) { //superman์ ๊ฐ Key๋ฅผ ๋ฐ์ผ๋ฉฐ ๋ฐ๋ณต console.log(i) console.log(superman[i]) } | cs |
๊ฐ์ฒด๋ณ์ ์์ฒด๋ฅผ ์ฝ์์ฐฝ์ ์ฐ์ผ๋ฉด property๋ฅผ ๋ค ๋ณด์ฌ์ค๋ค.
ํจ์์ ๋ฆฌํด๊ฐ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ๋ฐํํด์ค ์ ์๋ค.
1 2 3 4 5 6 7 8 9 10 | function makeFootballLover(name,age){ return { name, age, hobby:'football', }; } const Mike=makeFootballLover('Mike',30); console.log(Mike) | cs |
๊ฐ์ฑ์ property๋ก ์ ์ธ๋ ํจ์๋ฅผ method๋ผ๊ณ ํ๋ค.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | const superman={ name: 'clark', age: 33, fly: function(){ console.log('๋ ์๊ฐ๋๋ค.'), } } const superwonam={ name: 'sindy', age: 34, fly(){ console.log('๋ ์๊ฐ๋๋ค.'), } } | cs |
method์์ ํ์ฌ object์ property์ ์ ๊ทผํ๊ณ ์ถ์ผ๋ฉด this.KEY๋ฅผ ํ์ฉํ๋ฉด ๋๋ค. ํ์ด์ฌ์ self์ ๋น์ทํ ๋๋?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | let boy={ name:'Mike', sayHello:function(){ console.log(`Hello, I'm ${this.name}`) } } let girl={ name:'Jane', sayHello:function(){ console.log(`Hello, I'm ${this.name}`) } } boy.sayHello() girl.sayHello() | cs |
**์ฃผ์
method๋ฅผ ํ์ดํํจ์๋ก ์ ์ธํ๋ฉด this๋ฅผ ํ์ฉํ ์ ์๋ค. ํ์ดํํจ์์์ this๋ object๊ฐ ์๋๋ผ ์ ์ญ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์๋ window, NodeJS์์๋ global์ด๋ผ๊ณ ํ๋ค. ์ด๋ ค์ด ๋ด์ฉ์ด๋ ์์ ํ ์ดํดํ์ง ๋ชปํด๋ ๋ฌด๋ฐฉํ๋ค๊ณ ํ๋ค. ์ผ๋จ ๊ฐ์ฒด์ method๋ ํ์ดํํจ์๋ก ์์ฑํ์ง ์๋๊ฒ์ด ์ข๋ค๊ณ ๋ง ์๊ณ ์์.
๊ฐ์ฒด์ ์ธ์คํด์ค
๊ฐ์ฒด๋ ์ธ์คํด์ค์ ํํ๋ก ๋ง๋ค์ด์ ์ฌ์ฉํด์ผ ํ๋ค.
๊ฐ์ฒด๊ฐ ํ์ด๋ผ๋ฉด ๊ทธ ํ๋ก ์ฐ์ด๋ธ ๊ฒ์ด ์ธ์คํด์ค๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ์ธ์คํด์ค์ ์๋ณ์๋ฅผ ๋ถ์ฌ ์ฌ์ฉํ๋ค.
๊ฐ์ฒด์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ๋์๋ new๋ผ๋ ์์ฝ์ด๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ฉด ๋๋ค.
์๋ฅผ ๋ค์ด ํ์ฌ ๋ ์ง์ ์๊ฐ์ ํ์ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค๊ณ ์๊ฐํด๋ณด์.
์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ ์ง๋ ์๊ฐ ์ ๋ณด๋ Date ๊ฐ์ฒด์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ Date ๊ฐ์ฒด์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ , ๊ทธ ์ธ์คํด์ค๋ฅผ ๋ณ์์ ์ ์ฅํด์ ์ฌ์ฉํ๋ค.
var now = new Date();
document.write("ํ์ฌ ์๊ฐ์ " + now);
JS์ ๋ด์ฅ ๊ฐ์ฒด
์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฅ ๊ฐ์ฒด์๋ ์น ๋ฌธ์์ ๊ณ์ธต ๊ตฌ์กฐ์ ์๊ด์์ด ๋ํ๋ผ ์ ์๋ ๊ฐ์ฒด๊ฐ ์๋ค. Array ๊ฐ์ฒด์ Date ๊ฐ์ฒด๊ฐ ๋ํ์ ์ด๋ค.
Array ๊ฐ์ฒด๋ ์์ฐ๋๊ฑฐ์ง? ๊ฑ ๋ฐฐ์ด๋ฌธ๋ฒ์ ์ฐ๋๊ฒ ํจ์ฌ ํธํ์ง ์๋?
Date ๊ฐ์ฒด
Date ๊ฐ์ฒด๋ ๋ ์ง์ ์๊ฐ ์ ๋ณด๋ฅผ ๋ํ๋ผ ์ ์๋ค.
Date ๊ฐ์ฒด๋ ํ์ฌ ๋ ์ง์ ์๊ฐ์ ์ถ๋ ฅํ๊ฑฐ๋ ๋ฌ๋ ฅ์ ํ์ํ ์๋ ์๊ณ , ํน์ ์ผ๊น์ง ์ผ๋ง๋ ๋จ์๋์ง ์๋ ค์ฃผ๋ ๋ฑ ์ฌ์ดํธ์์ ์ฌ๋ฌ ๊ฐ์ง๋ก ์์ฉํ ์ ์๋ค.
Date ๊ฐ์ฒด ์ธ์คํด์ค ๋ง๋ค๊ธฐ
์ผ๋ฐ์ ์ธ ๊ฐ์ฒด ์ธ์คํด์ค๋ฅผ ๋ง๋๋ ๊ฒ์ฒ๋ผ ๋ง๋ค๋ฉด ๋๋ค.
new Date();
๊ทธ๋ฆฌ๊ณ ํน์ ํ ๋ ์ง๋ฅผ ์ ์ฅํ Date ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด Date ๋ค์์ ๋ถ์ด๋ ๊ดํธ ์์ ๋ ์ง ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ค.
new Date("2020-02-25")
๋ํ ์๊ฐ ์ ๋ณด๊น์ง Date ๊ฐ์ฒด๋ก ๋ํ๋ด๋ ค๋ฉด ๋ ์ง ๋ค์์ ๋๋ฌธ์ 'T' ๋ฅผ ์ถ๊ฐํ ํ ๊ทธ ๋ค์ ์๊ฐ์ ์ ๋ ฅํ๋ค.
new Date("2020-03035T18:00:00")
์๋ฐ์คํฌ๋ฆฝํธ์ด ๋ ์ง, ์๊ฐ ์ ๋ ฅ ๋ฐฉ์ ์์๋ณด๊ธฐ
Date ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ง์ ์๊ฐ์ ์ง์ ํ๋ ค๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ธ์ํ ์ ์๋ ๋ ์ง์ ์๊ฐ ํ์์ผ๋ก ์จ์ผ ํ๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฃผ๋ก ์ฌ์ฉํ๋ ๋ ์ง์ ์๊ฐ ์ ๋ ฅ ๋ฐฉ์์ ์์๋ณด์.
1. YYYY-MM-DDํ์
๋ค์๊ณผ ๊ฐ์ ํ์์ด๋ค.
new Date("2020")
new Date("2020-02")
new Date("2020-02-25")
2. YYYY-MM-DDTHH ํ์
์๊ฐ์ ๋ ์ง ๋ค์ 'T'๋ฅผ ๋ถ์ด๊ณ HH:MM:SS์ ํํ๋ก ์ฌ์ฉํ๋ค. ๋งจ ๋์ 'Z'๋ฅผ ๋ถ์ด๋ฉด UTC(๊ตญ์ ํ์ค์)๋ก ํ์๋๋ค.
new Data("2020-02-25T18:00:00")
new Data("2020-02-25T18:00:00Z")
3. MM/DD/YYYY ํ์
์ฐ๋๋ฅผ ๋ง์ง๋ง์ ๋ํ๋ด๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด MM/DD/YYYY ํํ๋ก ์ฌ์ฉํ๋ค.
new Date("02/25/2020"
4. ์ด๋ฆ ํ์
์์ January์ฒ๋ผ ์ ์ฒด๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ Jan๊ณผ ๊ฐ์ด ์ค์ฌ์ ์ฌ์ฉํ ์ ์๋ค.
๋ค์๊ณผ ๊ฐ์ด ๋งจ ์์ ์์ผ(Mon)์ ํจ๊ป ์์ฑํ ์๋ ์๋ค.
new Date("Mon Jan 20 2020 15:00:41 GMT+0900 (๋ํ๋ฏผ๊ตญ ํ์ค์)")
Date ๊ฐ์ฒด์ ๋ฉ์๋
Math ๊ฐ์ฒด
Math๊ฐ์ฒด๋ ์ํ ๊ณ์ฐ๊ณผ ๊ด๋ จ๋ ๋ฉ์๋๊ฐ ๋ง์ด ํฌํจ๋์ด์๋ค.
Math ๊ฐ์ฒด์ ํ๋กํผํฐ
์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ค์ด๋ค
์ข ๋ฅ | ์ค๋ช |
E | ์ค์ผ๋ฌ์์ |
PI | ์์ฃผ์จ |
SQRT2 | ๋ฃจํธ2 |
SQRT1_2 | ๋ฃจํธ2๋ถ์ 1 |
LN2 | ๋ก๊ทธ e์ 2 |
LN10 | ๋ก๊ทธ e์ 10 |
LOG2E | ๋ก๊ทธ 2์ e |
LOG10E | ๋ก๊ทธ 10์ e |
Math ๊ฐ์ฒด์ ๋ฉ์๋