Object Basic

객체의 생성

Object 객체를 이용해서 생성

							var myData = new Object();
							myData.name = "Adam";
							myData.weather = "sunny";

							console.log("Hello "+myData.name+". ");
							console.log("Today is "+myData.weather+". ");
						

객체 리터럴 형식의 사용

							var myData = {
								name: "Adam",
								weather: "sunny"
							};

							console.log("Hello "+myData.name+". ");
							console.log("Today is "+myData.weather+". ");
						

객체에 메서드 추가

							var myData = {
								name: "Adam",
								weather: "sunny",
								printMessage: function () {
									console.log("Hello "+ this.name +". ");
									console.log("Today is "+ this.weather +". ");
								}
							};
							myData.printMessage();	
						

객체의 활용

속성 값의 접근 및 수정

							var myData = {
								name: "Adam",
								weather: "sunny",
							};
							
							myData.name = "Joe";
							myData["weather"] = "raining";

							console.log("Hello "+myData.name+". ");
							console.log("Today is "+myData["weather"]+". ");
						

첫 번째 방식은 대부분의 프로그래머가 익숙한 방식으로, 앞의 예제에서도 사용한 바 있다. 이 방식은 객체명과 점, 속성명을 다음과 같이 사용한다.
myData.name = "Joe";

속성에 새 값을 대입할 때는 등호 기호(=)를 사용하거나 현재 값을 뺀 현재 값을 읽으면 된다. 두 번재 방식은 다음과 같은 배열 인덱스 방식이다.
myData["weather"] = "raining";

이 방식을 사용할 때는 대괄호 [ ] 사이에 접근하려는 속성명을 지정한다. 이 방식은 다음과 같이 변수를 사용해 속성에 접근할 수 있으므로 속성에 접근할 때 무척 편리하다.
var propName = "weather";
myData[propName] = "raining";

객체의 속성 열거

							var myData = {
								name: "Adam",
								weather: "sunny",
								printMessage: function () {
									console.log("Hello "+ this.name +". ");
									console.log("Today is "+ this.weather +". ");
								}
							};

							for (var prop in myData) {
								console.log("Name: "+prop+" Value: "+myData[prop]);
							}
						

객체의 새 속성 추가

							var myData = {
								name: "Adam",
								weather: "sunny"
							};

							myData.dayOfWeek = "Monday";

							for (var prop in myData) {
								console.log("Name: "+prop+" Value: "+myData[prop]);
							}
						

객체의 새 메소드 추가

							var myData = {
								name: "Adam",
								weather: "sunny"
							};

							myData.SayHello = function () {
								console.write("Hello");
							}

							for (var prop in myData) {
								console.log("Name: "+prop+" Value: "+myData[prop]);
							}
						

객체의 속성 삭제

							var myData = {
								name: "Adam",
								weather: "sunny"
							};
							
							delete myData.name;
							delete myData["weather"];
							delete myData.SayHello;
						

객체의 속성 유무 검사

							var myData = {
								name: "Adam",
								weather: "sunny"
							};
							
							var hasName = "name" in myData;
							var hasDate = "date" in myData;

							console.log("HasName: "+hasName); // true
							console.log("HasDate: "+hasDate); // false