<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
/*
자바스크립트 구성요소
1. 변수(var, let, const)
2. 함수(내장함수, 사용자정의함수)
3. 객체(내장객체, 사용자정의객체)
[ 자바스크립트 객체에 대한 리터럴 선언(정의) 방법(= 객체 정의) ]
var 변수명 = {
// 키 : 값 형태로 값을 키에 저장
키1 : 값1,
키2 : 값2,
...생략...
키n : 값n
}
*/
// 사용자 정의 객체
// person 객체 내부에 name 속성을 "홍길동"으로, age 속성을 20으로 설정
var person = {
// 객체 선언부 중괄호({}) 내부에는 키(key):값(value) 형태로 복수개의 데이터 관리 가능
// => 객체가 가지는 키:값 한쌍을 Property(프로퍼티) 라고 함
name : "홍길동",
age : 20
}
// person 변수에 저장된 데이터가 객체({}) 이므로 person 변수의 타입은 object 타입이 됨
// alert("person 의 타입 : " + typeof(person)); // person 의 타입 : object
// 객체 사용법
// 1. 객체 내의 프로퍼티 키(key)를 사용하여 값(value)을 가져오기
// [ 기본 문법 ] : 객체명.키
// alert("이름 : " + person.name + ", 나이 : " + person.age);
// => person 객체의 name 키에 해당하는 값("홍길동"), age 키에 해당하는 값(20) 출력
// 2. 객체 내의 프로퍼티 키를 사용하여 값을 변경
person.name = "이순신"; // person 객체의 name 키에 "이순신" 이라는 값을 할당(변경)
person.age = 44;
// alert("이름 : " + person.name + ", 나이 : " + person.age);
// 3. 객체 내의 새 프로퍼티 추가(새로운 키와 값 생성)
person.hobby = "게임";
person.isHungry = true;
// alert("이름 : " + person.name + ", 나이 : " + person.age);
// alert("취미 : " + person.hobby + ", 배고픔 : " + person.isHungry);
// 4. 객체 내의 프로퍼티 삭제(delete 연산자 사용 => delete 객체명.키)
delete person.hobby;
// alert("취미 : " + person.hobby + ", 배고픔 : " + person.isHungry);
// => hobby 프로퍼티가 삭제되었으므로 "취미 : undefined" 출력됨
// 5. 객체 내의 특정 프로퍼티 존재 여부 확인(in 연산자 사용 => "키" in 객체명)
alert("hobby" in person); // 주의! 키 지정 시 반드시 따옴표("" 또는 '') 사용
// => hobby 라는 프로퍼티가 없으므로 false 가 출력됨
</script>
</head>
<body>
</body>
</html>