์๋ ํ์ธ์ ๋ถ์คํฐ์ฝ์ค 3๊ธฐ ์ํฌํฐ์ฆ ํ๋ธ์ ๋๋ค. ๐ฟ
๋ถ์คํฐ์ฝ์ค๋?
์ปค๋ฅํธ์ฌ๋จ์ ๋ค์ด๋ฒ๊ฐ ์ค๋ฆฝํ ๋น์๋ฆฌ ๊ต์ก ์ฌ๋จ์
๋๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ์ ์์ฑ ๊ต์ก ํ๋ก๊ทธ๋จ, ๋ถ์คํธ์ฝ์ค์ ํจ๊ป
๋น์ ์ ๊ฐ๋ฐ ์ปค๋ฆฌ์ด๋ฅผ ์
๊ทธ๋ ์ด๋ํ์ธ์!
์ ํฌ์คํ ์ ๊ฐ์ ๋ด ์๊ฐํด๋ณด๊ธฐ์ ์์ ์์ ๋ค๋ฃจ๋ ์ฝ๋๋ฅผ ์ง์ ํฌ๋กฌํ๋ฉด์์ ํ์ธ ํด๋ณผ ์ ์๋๋ก ์งํํฉ๋๋ค. ๊ด๋ จ๋ ๊ฐ๋ ๊ณผ ๊ฐ์๋ ํจ๊ป ์ฌ๋ ค๋๋ฆฌ๋ ๋งํฌ์์ ํ์ธํด๋ณด์ค ์ ์์ต๋๋ค.
www.boostcourse.org/cs124/joinLectures/52258
์๋ฐ์คํฌ๋ฆฝํธ์ ์์
๋ถ์คํธ์ฝ์ค ๋ฌด๋ฃ ๊ฐ์
www.boostcourse.org
์ด๋ฒ ๊ฐ์์์๋ ๊ฐ์ฒด์ ์๋ ๋ชจ๋ ๊ฐ๋ค์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ด ์๋ค. ๋ฐฐ์ด์์๋ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์์ฃ . ์ด๋ฌํ ๊ธฐ๋ฅ์ ๋ณด๊ณ **์ํ(iteration)**์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
๊ฐ์ฒด์์๋ for in์ด๋ผ๋ ๊ฒ์ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ๋ค์์ ์ฝ๋๋ฅผ ์ดํด๋ด ์๋ค.
var coworkers = {
"programmer": "egoing",
"designer": "leezche"
};
for(var key in coworkers) {
document.write(key+'<br>');
}
for์ ์ฐ๋ฉด coworkers์ ์๋ ์ด๋ฆ๋ค์ ํ๋์ฉ ๊ฐ์ ธ์ค๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์ด๋ฆ์ ์ฐจ๋ก๋๋ก key์ ๋ฃ์ด์ค๋๋ค. ๊ทธ๋ฌ๋ฉด ๊ทธ key๋ค์ด ์ฐจ๋ก๋๋ก ์ถ๋ ฅ๋๊ฒ ์ฃ . ๊ฒฐ๊ณผ์ ์ผ๋ก programmer์ designer๊ฐ ์ถ๋ ฅ๋ ๊ฒ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ฆ ๋์ ๊ทธ ์ด๋ฆ์ ํด๋นํ๋ ๊ฐ์ ์ถ๋ ฅํ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํ๋ฉด ๋ ๊น์? ์ด key๋ฅผ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋ฉ๋๋ค.
for(var key in coworkers) {
document.write(coworkers[key]+'<br>');
}
์๊ฐํด๋ณด๊ธฐ
์ง๋ ๊ฐ์์ <์๊ฐํด๋ณด๊ธฐ>์์ ๋ง๋ค์๋ countries๋ผ๋ ๊ฐ์ฒด์์, ๋ชจ๋ ๊ฐ์ฒด์ ์ด๋ฆ๊ณผ ๊ฐ์ ํ ์ค์ฉ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ๋ง๋ค์ด ๋ด ์๋ค.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Object</h1>
<h2>Create</h2>
<script>
var coworkers = {
"programmer": "egoing",
"desiger": "leezche"
};
document.write("programmer : " + coworkers.programmer + "<br>");
document.write("designer : " + coworkers.desiger + "<br>");
coworkers.bookkeeper = "duru";
document.write("bookkeeper : " + coworkers.bookkeeper + "<br>");
coworkers["data scientist"] = "taeho";
document.write(" data scientist: " + coworkers["data scientist"] + "<br>");
var countries = {
"asia": "korea"
};
countries.europe = "england";
document.write("asia : " + countries.asia + "<br>");
document.write("europe : " + countries.europe + "<br>");
</script>
<br>
<!-- ๊ฐ์ฒด์ ์ํ -->
<script>
for (var key in coworkers) {
document.write(key + " : " + coworkers[key] + '<br>');
}
// ์๊ฐํด๋ณด๊ธฐ
for (var key in countries) {
document.write(key + " : " + countries[key] + '<br>');
}
</script>
</body>
</html>
๊ฐ์ฒด(ํ๋กํผํฐ์ ๋ฉ์๋)
https://www.boostcourse.org/cs124/lecture/194641
์๋ฐ์คํฌ๋ฆฝํธ์ ์์
๋ถ์คํธ์ฝ์ค ๋ฌด๋ฃ ๊ฐ์
www.boostcourse.org
๊ฐ์ฒด์ ๋ฉ์๋
๊ฐ์ฒด์๋ ๋ค์ํ ๊ฒ๋ค์ ๋ด์ ์ ์์ต๋๋ค. ์ฌ์ง์ด๋ ํจ์๊น์ง ๋ด์ ์ ์์ฃ .
์๋ฅผ ๋ค์ด์ ์ง๋ ์๊ฐ๊น์ง ์ฌ์ฉํ๋ coworkers๋ผ๋ ๊ฐ์ฒด๋ฅผ ์๊ฐํด๋ด ์๋ค. ์ฐ๋ฆฌ๋ ์ด ๊ฐ์ฒด์ ์๋ก์ด ํจ์, ์ฆ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ ๊ฒ๋๋ค. ๋ฐ๋ก showAll()์ด๋ผ๋ ๋ฉ์๋์ด์ฃ . ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์์ต๋๋ค.
coworkers.showAll = function() {
for (var key in coworkers) {
document.write(key + ' : ' + coworkers[key] + '<br>');
}
}
์ฆ, coworkers์์๋ง ์ฌ์ฉํ ์ ์๋ showAll์ด๋ผ๋ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ๊ฒ ๋ ๊ฒ์ ๋๋ค.
ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์ ๊ทธ๋ ๊ฒ ์ข์ ๋ฐฉ๋ฒ์ ์๋๋๋ค. ์๋ํ๋ฉด cowerkers๋ผ๋ ๋ณ์ ์ด๋ฆ์ด ๋ฐ๋๋ฉด ํจ์๋ฅผ ์์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ด์ฃ . ์ด ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋ก this์ ๋๋ค. coworkers ๋์ ์ ์ด ๋ฉ์๋๊ฐ ์ฐ์ธ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ this๋ฅผ ์ฌ์ฉํด์ฃผ๋ฉด ๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์์ ํ ์ ์๊ฒ ์ฃ .
coworkers.showAll = function() {
for (var key in this) {
document.write(key + ' : ' + this[key] + '<br>');
}
}
๊ฐ์ฒด์ ํ๋กํผํฐ
์ด๋ ๊ฒ ๊ฐ์ฒด์ ํด๋นํ๋ ํจ์๋ค์ ๋ฉ์๋๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฒด์ ํด๋นํ๋ ๋ณ์๋ค๋ ์์ฃ . ์๋ฅผ ๋ค๋ฉด coworkers.programmer์์ programmer์ ํด๋นํ๋ ๊ฒ๋ค์ ๋๋ค. ์ด๋ฐ ๋ณ์๋ค์ **ํ๋กํผํฐ(property)**๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
์๊ฐํด๋ณด๊ธฐ
์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํด์ key๊ฐ programmer์ผ ๋๋ง ์ถ๋ ฅํ๋ ๋ฉ์๋ printProgrammer()์ ๋ง๋ค์ด ๋ด ์๋ค.
cowerkers.printProgrammer = fucntion(){
for(var key in this){
if(key == 'programmer'){
document.write(this[key] + '<br>');
}
}
๊ฐ์ฒด์ ํ์ฉ
https://www.boostcourse.org/cs124/lecture/194642/
์๋ฐ์คํฌ๋ฆฝํธ์ ์์
๋ถ์คํธ์ฝ์ค ๋ฌด๋ฃ ๊ฐ์
www.boostcourse.org
๊ฐ์ฒด์ ํ์ฉ
๊ฐ์ฒด ์ฒซ ๊ฐ์์์ ๋ดค๋ ์์ ๋ฅผ ๋ค์ ํ ๋ฒ ์ดํด๋ด ์๋ค. ์ฒซ ๊ฐ์์์ ์ฐ๋ฆฌ๋ ๋ง์ ํจ์๋ค์ ๋ง๋ค์๊ณ , ์ด ํจ์๋ค์ ์ด๋ฆ์ด ๊ฒน์น์ง ์๋๋ก ํ๊ธฐ ์ํด์ ๋ง์ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์์ต๋๋ค. ์ด๋ฒ ๊ฐ์์์๋ ๊ฐ์ฒด๋ฅผ ํ์ฉํด์ ์ด๋ฐ ๋ฌธ์ ์ ๋ค์ ํด๊ฒฐํด ๋ด ์๋ค.
๋จผ์ Body๋ผ๋ ์ด๋ฆ์ ๊ฐ์ฒด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๋ง๋ค์ด ๋ด ์๋ค.
var Body = {
setColor: function (color) {
document.querySelector('body').style.color = color;
},
setBackgroundColor: function (color) {
document.querySelector('body').style.backgroundColor = color;
}
}
๋งํฌ์ ๋ํด์๋ ์ด๋ฌํ ์์ ์ ํ๊ธฐ ์ํด์ Links๋ผ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ๋ด ์๋ค.
var Links = {
setColor: function (color) {
var alist = document.querySelectorAll('a');
var i = 0;
while (i < alist.length) {
alist[i].style.color = color;
i = i + 1;
}
}
}
์ด๋ ๊ฒ ๋ง๋ค๋ฉด Body์ Links์ ๋ชจ๋ setColor์ด๋ผ๋ ํจ์๊ฐ ์กด์ฌํ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง ์ด ๋์ ์ฌ์ฉํ ๋์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ค๋ฅด๊ฒ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.
Body.setColor('black');
Links.setColor('powderblue');
ํจ์์ ์ด๋ฆ์ด ๊ฐ์๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ์์๋ ๋ฉ์๋์ด๊ธฐ ๋๋ฌธ์ ์ถฉ๋์ด ์ผ์ด๋์ง ์๋ ๊ฒ์ด์ฃ .
<script>
var Links = {
setColor:function(color){
var alist = document.querySelectorAll('a');
var i = 0;
while (i < alist.length){
alist[i].style.color = color;
i = i + 1;
}
}
}
var Body = {
setColor: function(color){
document.querySelector('body').style.color = color;
},
setBackgroundColor:function (color){
document.querySelector('body').style.backgroundColor = color;
}
}
function nightDayHandler(self) {
var target = document.querySelector('body');
if (self.value === 'night') {
Body.setBackgroundColor('black');
Body.setColor('white');
Links.setColor('powderblue');
self.value = 'day';
}else {
Body.setBackgroundColor('white');
Body.setColor('black');
Links.setColor('blue');
self.value = 'night';
}
}
</script>
์๊ฐํด๋ณด๊ธฐ
์ด๋ฒ ๊ฐ์์์ ์์ ํ ์ฝ๋๊ฐ ์ด์ ์ ์ฝ๋์ ๋นํด์ ๋ ์ข์์ง ์ ์ ๋ฌด์์ผ๊น์?
๊ฐ์ฒด๋ง๋ค ์๋ก ์ฐ๊ด๋ ๋ฉ์๋๋ค์ ์ ๋ฆฌํด๋์ ๋ณด๊ธฐ ๊น๋ํด์ก๋ค. ์๋ก ๋ค๋ฅธ ๊ฐ์ฒด ๋ด์ ๋ฉ์๋ ์ด๋ฆ์ ์ค๋ณต๋์ด๋ ๋๊ธฐ ๋๋ฌธ์ ์ด๋ฆ์ด ๊ฐ๋จํด์ก๋ค.
ํด์ฆ๋ ์์ฝ๊ฒ ์ฑ์ฑ~! ์ฌ๋ฌ๋ถ๋ค๋ ์ผ๋ง ๋จ์ง ์์์ผ๋ ๋น ๋ฅด๊ฒ ๋ฐ๋ผ์ต์๋ค~!
๋ค ํจ๊ป ๋ฐฐ์ฐ๊ณ ์ฑ์ฅํ๋ ๋ถ์คํธ์ฝ์ค
๋ถ์คํธ์ฝ์ค(boostcourse)๋ ๋ชจ๋ ํจ๊ป ๋ฐฐ์ฐ๊ณ ์ฑ์ฅํ๋ ๋น์๋ฆฌ SW ์จ๋ผ์ธ ํ๋ซํผ์ ๋๋ค.
www.boostcourse.org
hhhminme - Overview
๊พธ์คํ ๊ณต๋ถ์ค์ธ ์ด๋ณด ๊ฐ๋ฐ์์ง๋ง์ hub@kakao.com. hhhminme has 12 repositories available. Follow their code on GitHub.
github.com