Front-End
[JavaScript] 객체와 메소드와 반복문
SI-AH
2023. 6. 28. 23:13
객체(object):
서로 연관된 함수와 변수를 같은 이름으로 그룹핑해 잘 정리하기 위한 도구
→ 함수 위에 존재
매소드(method):
객체에 속해있는 함수
1. 객체 생성
객체는 { }를 이용해 생성한다
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<h1>Object</h1>
<h2>Create Object</h2>
<script>
var coworkers = {
programmer: "egoing",
designer: "leezche",
};
document.write("programmer : " + coworkers.programmer + "<br>");
document.write("designer : " + coworkers.designer + "<br>");
// 이미 존재하는 객체에 정보를 추가할 때
coworkers.bookkeeper = "duru";
document.write("bookkeeper : " + coworkers.bookkeeper + "<br>");
coworkers["data scientist"] = "taeho";
document.write("data scientist : " + coworkers["data scientist"] + "<br>");
</script>
</body>
</html>
정보를 넣을 때, 정보에 대한 이름을 함께 넣어줘야한다.
위 코드에서는 grogrammer과 designer가 정보에 대한 이름이고, egoing과 leezche가 정보이다.
만약 이미 존재하는 객체에 정보를 추가하고 싶을 땐,
객체.정보에 대한 이름 = 정보
와 같은 형태로 작성해주면 되는데,
정보에 대한 이름에 공백이 포함되어 있다면 배열과 같은 형태로 정보를 추가할 수 있다.
2. 반복문
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<h1>Object</h1>
<script>
var coworkers = {
programmer: "egoing",
designer: "leezche",
};
coworkers.bookkeeper = "duru";
coworkers["data scientist"] = "taeho";
</script>
<h2>Iterate</h2>
<script>
for (var key in coworkers) {
document.write(key + " : " + coworkers[key] + "<br>");
}
</script>
</body>
</html>
JavaScript에서의 반복문으로 객체에 있는 모든 key들과 각 key에 해당하는 정보를 한 번에 가져올 수 있다.
3. Property & Method
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<h1>Object</h1>
<script>
var coworkers = {
programmer: "egoing",
designer: "leezche",
};
coworkers.bookkeeper = "duru";
coworkers["data scientist"] = "taeho";
</script>
<h2>Property & Method</h2>
<script>
coworkers.showAll = function () {
for (var key in this) {
document.write(key + " : " + coworkers[key] + "<br>");
}
};
coworkers.showAll();
</script>
</body>
</html>
객체에 소속된 함수를 method 라고 하며, 객체에 소속된 변수는 property라고 한다.
coworkers.showAll 조차도 coworkers에 소속된 데이터이기 때문에 화면에 표시가 된다.
(나중에 if문으로 제외시키고 화면에 표시되도록 할 수 있다.)
반복문을 함수로 만들면서, this를 사용해 coworkers를 나타냈는데,
this로 쓰면 나중에 객체의 이름이 바뀌어도, 이 함수를 사용한 모든 곳을 바꾸지 않고도 사용할 수 있다.