3일만에 끝내는 HTML, CSS, JS 기초
j11. 자바스크립트 객체 본문
자바스크립트 객체
<img src="http://icons.iconarchive.com/icons/archigraphs/modern-chairs/128/Blue-Seat-icon.png" width="128" height="128">
실제 생활에서의 객체 (Objects), 프로퍼티 (Properties), 그리고 메서드 (Methods) 의 의미를 먼저 알아보겠습니다. 예를 들어 실제 생활에서, 의자가 하나 있다고 해보겠습니다. 이 의자가 무겁다 거나, 또는 색깔이 파란색 이라거나 하는 것은, 이 의자의 프로퍼티 들 (properties) 입니다. 한편, 이 의자가 사람의 엉덩이를 받칠 수 있다거나, 또는 심지어 날아다니는 기능이 있다거나 이런 것은 메서드 들 (methods) 입니다.chair.color = 파란색 //프로퍼티 chair.weight = 무겁다 //프로퍼티 chair.fly() //메서드 chair.sit() //메서드일반적으로 의자들은 동일한 프로퍼티 들을 가지고 있습니다. 그러나 프로퍼티의 값들은 저마다 다릅니다. 일반적으로 의자들은 동일한 메서드 들을 가지고 있습니다. 그러나 그 메서드가 사용되는 횟수는 다릅니다.
자바스크립트 변수 (JavaScript variables) 는 데이터 값을 담는 그릇 같은 것입니다. 예를 들어, 의자 라는 객체에 이름 값을 할당해 보겠습니다.var chair = {type:"팔걸이 의자", weight:1.2, color:"파란색"};객체의 값들은 이름:값의 쌍으로 입력합니다. 이름과 값 사이에는 콜론 (:) 으로 구분합니다. 자바스크립트 에서의 객체도 변수와 같이, 이름을 붙인 값 들 (named values) 을 담는 그릇과 같습니다.
자바스크립트 객체 에서, 프로퍼티란, 이름:값의 쌍 (name:values pairs) 을 말합니다. 메서드는 객체에서 수행될 수 있는 동작 들인데, 이 또한 함수 정의 (function definitions) 형태로 프로퍼티 안에 저장 될 수 있습니다. 이렇게 하여, 자바스크립트의 객체 안에는 "이름 붙은 값들 (즉, 프로퍼티)" 그리고 "메서드 (즉, 함수)" 이렇게 두 종류가 담기게 됩니다. 객체를 정의 할 때 여러 줄로 나누어 적을 수 있습니다.var chair = { color:"파란색", weight:"무겁다", legs:"4개", back:"있음" };
객체의 프로퍼티 (object properties) 에 접근하여 읽고 쓰는 방법은 2가지가 있습니다.objectName.propertyName의자의 예를 들면, chair.color 또는,objectName["propertyName"]같은 예를 들면, chair["color"]
객체의 메서드 (object method) 에 접근할 때는 다음과 같은 구문 (syntax) 을 사용합니다.objectName.methodName()맨 위 쪽에서 들었던 예제 처럼, seat = chair.sit(); 여기서 만일 끝에 소괄호 () 를 치지 않으면, 실행한 값을 반환 하라는 의미가 아니라, 해당 함수 자체를 의미하게 됩니다. 그래서 함수 코드가 글자 그대로 반환될 것입니다.
문자열 (Strings) 이나, 숫자 (Numbers), 아니면 불리언 (Booleans) 등을 객체로 정의하지 말아야 합니다. 자바스크립트 변수 (JavaScript variable) 를 "new" 키워드 (keyword) 로 선언하게 되면, 그 변수 (variable) 는 객체로서 생성됩니다.var myString = new String(); // 여기서 mySting 은 문자열 객체 (String object) 로 정의되었습니다. var myNumber = new Number(); // 여기서 myNumber 는 숫자 객체 (Number object) 로 정의되었습니다. var myBoolean = new Boolean(); // 여기서 myBoolean 은 불리언 객체 (Boolean object) 로 정의되었습니다.위와 같이 문자열, 숫자, 불리언을 객체로 정의하는 것을 피해야 합니다. 이렇게 하면 코드를 혼란스럽게 할 뿐아니라, 실행 속도도 느리게 만듭니다.
[광고] Udemy 동영상 강의로 보기
'JAVASCRIPT' 카테고리의 다른 글
j13. 자바스크립트 이벤트 (0) | 2016.06.05 |
---|---|
j12. 자바스크립트 변수의 유효 범위 (0) | 2016.06.05 |
j08. 자바스크립트 함수 (0) | 2016.06.05 |
j07. 자바스크립트 자료형 (0) | 2016.06.05 |
j06. 자바스크립트 연산자 (0) | 2016.06.05 |