๋ฐ˜๊ฐ€์›Œ์š”! ํ—ˆ๋ธŒ์ž…๋‹ˆ๋‹ค!

์ €๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ํ˜„๋Œ€ ์—ฐ๊ธˆ์ˆ ์‚ฌ๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ๋Š๋‚€ ์ ๋“ค๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์ฝ”์Šค/[๋ถ€์ŠคํŠธ์„œํฌํ„ฐ์ฆˆ3๊ธฐ]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์‹œ์ž‘

[๋ถ€์ŠคํŠธ์ฝ”์Šค]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์‹œ์ž‘(๊ฐ์ฒด ์ˆœํšŒ, ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ, ํ™œ์šฉ๋ฒ•)

mmin.h 2021. 2. 11. 14:05

์•ˆ๋…•ํ•˜์„ธ์š” ๋ถ€์Šคํ„ฐ์ฝ”์Šค 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>

์ƒ๊ฐํ•ด๋ณด๊ธฐ

์ด๋ฒˆ ๊ฐ•์˜์—์„œ ์ˆ˜์ •ํ•œ ์ฝ”๋“œ๊ฐ€ ์ด์ „์˜ ์ฝ”๋“œ์— ๋น„ํ•ด์„œ ๋” ์ข‹์•„์ง„ ์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”?

 

๊ฐ์ฒด๋งˆ๋‹ค ์„œ๋กœ ์—ฐ๊ด€๋œ ๋ฉ”์†Œ๋“œ๋“ค์„ ์ •๋ฆฌํ•ด๋†“์•„ ๋ณด๊ธฐ ๊น”๋”ํ•ด์กŒ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด ๋‚ด์˜ ๋ฉ”์†Œ๋“œ ์ด๋ฆ„์€ ์ค‘๋ณต๋˜์–ด๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฆ„์ด ๊ฐ„๋‹จํ•ด์กŒ๋‹ค.


ํ€ด์ฆˆ๋„ ์†์‰ฝ๊ฒŒ ์“ฑ์“ฑ~! ์—ฌ๋Ÿฌ๋ถ„๋“ค๋„ ์–ผ๋งˆ ๋‚จ์ง€ ์•Š์•˜์œผ๋‹ˆ ๋น ๋ฅด๊ฒŒ ๋”ฐ๋ผ์˜ต์‹œ๋‹ค~!


www.boostcourse.org/

 

๋‹ค ํ•จ๊ป˜ ๋ฐฐ์šฐ๊ณ  ์„ฑ์žฅํ•˜๋Š” ๋ถ€์ŠคํŠธ์ฝ”์Šค

๋ถ€์ŠคํŠธ์ฝ”์Šค(boostcourse)๋Š” ๋ชจ๋‘ ํ•จ๊ป˜ ๋ฐฐ์šฐ๊ณ  ์„ฑ์žฅํ•˜๋Š” ๋น„์˜๋ฆฌ SW ์˜จ๋ผ์ธ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

www.boostcourse.org

github.com/hhhminme

 

hhhminme - Overview

๊พธ์ค€ํžˆ ๊ณต๋ถ€์ค‘์ธ ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž์ง€๋ง์ƒ hub@kakao.com. hhhminme has 12 repositories available. Follow their code on GitHub.

github.com