아카이브

[JS] Syntax | 04. 함수와 클래스 본문

Language/JavaScript

[JS] Syntax | 04. 함수와 클래스

Rayi 2024. 2. 9. 17:36

1. 함수

JS의 클래스는 함수를 사용하여 정의합니다.

함수는 아래와 같이 선언할 수 있습니다.

// 1. with name
function func(a, b, c) {
	//...
}

// 2. without name
var func = function () {
	// ...
}

2. 클래스

클래스는 위의 두 번째 문법을 사용해 구현할 수 있습니다.

프로토타입은 JS의 프로그래밍 기반으로, 객체가 복제되거나 생성되더라도 동일하게 유지되는 속성을 관리합니다.

따라서 프로토타입 내에서 정의되는 속성과 메소드는 인스턴스에 상관없이 동일하게 존재합니다.

단, 같은 이름의 속성이나 메소드가 있으면 프로토타입은 호출되지 않습니다.

Classname = function (x) {
	this.property = x;
	this.method = function( ) { ... };
};

Classname.prototype.name = function( ) { ... };

Classname.prototype = {
	method1 : function( ) { ... },
	method2 : function( ) { ... }
};

3. 클래스 상속

클래스 상속은 apply() 함수를 이용해 구현할 수 있습니다.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>practice4_inheritance</title>
    </head>
    <body>
        <script type = "text/javascript">
            var Account = function(name, cash){
                this.name = name;
                this.number = 123;
                this.cash = cash;
            }
            var Cuntomer = function(name){
                Account.apply(this, ['Alex', 100]); // inheritance
            }
        </script>
    </body>
</html>
728x90
Comments