자바스크립트 객체 속성
객체 상수 {} 또는 new Object(); 구문을 통해 자바스크립트 객체를 생성할 수 있다.
추가적인 속성을 추가하거나 속성에 접근하는 방법은 object.propertyName (객체속성이름)을 사용하거나
object['propertyName'] 을 사용하면 된다.
코드
<script>
const javascriptObject = {};
const testArray = [1, 2, 3, 4];
javascriptObject.array = testArray;
console.log(javascriptObject); // {array: [1,2,3,4]}
javascriptObject.title = "algoritims";
console.log(javascriptObject); // {array: [1,2,3,4], title: 'algoritims'}
</script>
프로토타입 활용 상속
자바와 같은 대부분의 자료형 언어에서는 클래스의 매소드가 클래스와 동시에 정의된다. 하지만 자바스크립트에서는 함수가 클래스의 자바스크립트 Object 속성으로 추가해야 된다.
다음 코드는 this.functionName = function(){}을 사용해 함수를 추가하는 예다.
코드
<script>
function ExampleClass() {
this.name = "Javascript";
this.sayName = function () {
console.log(this.name);
};
}
//신규 객체
var example1 = new ExampleClass();
example1.sayName();
</script>
자바스크립트에서 프로토타입 활용 상속은 유일한 상속 방법이다. 클래스의 함수를 추가하기 위해서는 .prototype 속성을 사용한 다음 함수의 이름을 지정하기만 하면 된다.
.prototype 속성을 사용하는 것은 해당 객체의 자바스크립트 Object 속성을 동적으로 확장하는 것이다. 자바스크립트는 동적이고 클래스는 새로운 함수 멤버를 이후에 필요할 때 추가 할 수 있기 때문에 이러한 방식이 표준이다.
다음 코드는 .prototype을 사용하는 예이다.
<script>
function ExampleClass() {
this.array = [1, 2, 3, 4, 5];
this.name = "Javascript";
}
//신규 객체
var example1 = new ExampleClass();
ExampleClass.prototype.sayName = function () {
console.log(this.name);
};
example1.sayName();
</script>
'javascript & jQuery' 카테고리의 다른 글
[JS] 원시 타입(Primitive Type) & 참조 타입(Reference Type) (0) | 2022.08.11 |
---|