카테고리 없음
JS 객체(계산된 프로퍼티, 단축 프로퍼티, in연산, for..in 반복문, 객체 기본)
Canyi
2022. 11. 9. 10:16
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//계산된 프로퍼티
let fruit = prompt("어떤 과일 구매?", "apple");
let bag = {
[fruit + 'computer'] : 500, //bag.applecomputer =500
};
alert(bag.applecomputer);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//단축 프로퍼티
function makeUser(name, age){
return {
name : name,
age : age,
//name,
//age,
}
}
let user = makeUser ("마이클", 30);
console.log(user.name);
console.log(user.age);
</script>
</body>
</html>
return에는
name: name,
age: age, 를 쓰나
name,
age, 쓰나 상관없다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//in연산자
let user = {name: "john", age: 30};
console.log("age" in user);
console.log("azzge" in user);
console.log("name" !== user);
let obj = {
test: undefined
}
console.log("test" in obj);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//for - in
let user = {
name: "john",
age: 30,
isadmin : true
};
for(let key in user){
console.log(key);
console.log(user[key]);
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//for - in
let user = {
name: "john",
age: 30,
isadmin : true
};
for(let key in user){
if(key === "name")
console.log(key);
console.log(user[key]);
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//참조에 의한 객체 복사, 값이 복사 된게 아님
let user = {
name: "john",
};
let admin = user; //참조값(주소값)이 복사됨
admin.name = "춘삼이"; //복사된 admin 참조값에 의해 변경
console.log(user.name); //원본 user의 참조값을 이용해서 변경사항을 확인
</script>
</body>
</html>
https://piaocanyi.tistory.com/294