Language/JavaScript28 [객체 기본] new 연산자와 생성자 함수 #new 연산자 생성자 함수를 통해 유사한 형태의 새로운 객체를 만드는 데 사용한다. 모든 함수는 new 연산자를 사용해서 생성자 함수가 될 수 있다. 생성자 함수는 일반적으로 두 가지 관례를 따른다. 함수 이름의 첫 글자는 대문자로 기재 반드시 'new' 연산자를 붙여서 실행 생성자 함수를 new 연산자 사용하여 실행했을 때, 동작하는 알고리즘은 다음과 같다. 1. 빈 객체를 만들어 this에 할당 2. 함수 본문 실행 및 this 에 새로운 프로퍼티 추가 3. this 반환 #new 연산자 사용 시, 객체 형성 알고리즘 //생성자 함수 function User(name) { // 1. 빈 객체 this 할당 (this = {}) // 2. 함수 본문에 정의한 프로퍼티를 this에 할당 this.na.. 2022. 12. 24. [Class] 게터와 세터 #getter 기존 혹은 새로운 속성에 원하는 속성 또는 메서드를 리턴한다 단, 기존 속성을 사용하는 경우, 같은 변수명을 대입하면 안 된다. - 일반적으로 언더바(private 변수 의미)를 prefix로 사용한다. - ex. 예시 코드, _width & _height 1. 속성 형성 및 메서드 리턴 get area() 처럼 생성자 함수를 통해 this에 바인딩되어 있지 않은 속성값에 대해 Rectangle.prototype 에 있는 메서드(calcArea)를 리턴하며 매개변수에 따라 계산된 값을 할당할 수 있다. #setter 게터에서 가져온 값에 대한 처리를 한다. 해당 속성에 할당된 값을 사용하고 싶은 경우, 매개변수를 사용한다. (함수와 동일한 방법으로 사용) - ex. 예시코드 set widt.. 2022. 12. 17. [Class] 클래스 정의와 원리 #Class 정의 여러 개의 객체를 만드는 데 유용하며, new 연산자를 사용하여 class 에 정의된 생성자 함수와 속성, 메서드를 포함한 객체(인스턴스)를 생성한다. constructor() 생성자 메서드는 어떤 메서드들 보다 먼저 호출되고, new 연산자를 사용할 때 자동으로 호출된다. 객체를 생성하고 초기화하기 위한 특수 메서드 (class 내부 유일해야 함) 부모클래스의 constructor를 호출하려면 구현부에 super 키워드 사용 constructor(param){this.param = param} 을 통해 클래스를 가르키는 this. 연산자를 통해 속성을 초기화 및 할당한다. constructor() 에 들어간 매개변수의 개수가 new 연산자를 통해 생성하는 클래스 인스턴스에 들어가는 매.. 2022. 12. 16. class & constructor 기초 # class 프로토타입 기반 상속 사용 생성자 속성(constructor)은 선택사항 함수선언과 달리 호이스팅 대상이 아님 속성과 메서드 예시 constructor 생성자 함수에서 초기화된 name은 클래스 인스턴스들이 갖는 속성이다. sayHi()메서드는 클래스의 프로토타입에 할당된 메서드이며, 클래스 인스턴스들이 갖는 메서드이다. class User { constructor(name) { this.name = name; } sayHi() { alert(this.name); } } // 클래스는 함수입니다. alert(typeof User); // function // 정확히는 생성자 메서드와 동일합니다. alert(User === User.prototype.constructor); // true /.. 2022. 10. 22. 이전 1 ··· 4 5 6 7 다음