인스턴스를 생성하고 그 참조를 리턴하는 특별한 목적의 메서드
메서드에서 this.속성이름 을 이용해서 인스턴스의 속성을 생성할 수 있습니다.
일반 메서드에서 속성을 생성 하는 경우 메서드 호출을 하지 않으면 속성을 사용할 수가 없습니다.
생성자는 인스턴스를 생성하기 위해 호출하는 메서드기 때문에 인스턴스를 만들려면 반드시 한번은 호출해야 합니다.
생성자에서 필요한 속성을 만들면 속성을 만들기 위해서 다른 메서드를 호출하는 번거로움을 없앨수 있습니다.
javascript에서는 constructor 라는 속성에 생성자를 만들어서 대입할수 없습니다.
생성자는 1개만 만들수 있는 기본적으로 매개변수가 없고 아무일도 하지않는 생성자가 1개 제공됩니다.
생성자를 직접 만들면 제공되는 생성자는 소멸됩니다.
생성자를 호출하는 방법은 new 생성자이름(매개변수 나열) -> 실제로는 클래스이름.prototype.constructor 가 호출됩니다.
클래스안에 화살표함수를 사용하지 못한다.
인스턴스 안에 존재하는 속성의 데이터를 변경하고 리턴하는 메서드
getter는 속성의 데이터를 리턴하는 메서드
일반적으로 매개변수는 없고 속성의 데이터만 리턴합니다.
이름은 get속성이름 으로 만드는데 속성 이름의 첫글자는 대문자로 표기합니다. -camel 표기법
Boolean 인 경우는 get 대신에 is를 사용하기도 합니다.
setter는 속성의 데이터를 설정하는 메서드
매개변수는 1개(데이터 전체) 또는 2개(배열이나 객체의 일부 속성을 변경하는 경우 인덱스나 속성이름을 매개변수로 추가하는경우가 있습니다.) 로 하는것이 일반적이면 리턴을 하지 않습니다.
이름은 set속성이름 으로 만듭니다.
자바스크립트에서는 getter 앞에 get을 setter 앞에 set을 추가하면 데이터를 저장하는 속성처럼 사용하는 것이 가능합니다. 개발자들은 이문법을 잘 사용하지 않습니다.
메서드 앞에
1)개념
순차적 처리를 위한것
모든 데이터가 순차적 처리를 할수 있는 것은 아니고 javascript에서는 lterable 프로토콜과 lterator 프로토콜을 준수해야만 순차적 처리가 가능합니다.
순차적 처리가 가능한 대표적인 데이터가 Array(배열)
순차적 처리가 가능한 데이터에는 symbol.iterator가 존재해야 합니다.
Symbol.iterator 속성을 추출해서 next 메서드를 호출하면 순차적으로 처리가 가능합니다.
직접 만들고자 할때는 gegnerator 와 symbol 내장객체를 이용해야 합니다.
for -in은 객체 나 배열의 모든속성을 순차적으로 접근하기 위한 명령문
for -of 는 순차적 처리가 가능한 데이터를 순회하는 명령문
개발과정에 테스트를 하는것
예외가 발생했을때 어떻게 할것인가를 작성하는것
목적 예외가 발생하더라도 계속해서 프로그램을 실행시키기 위해서
예외를 로깅(기록)하기 위해서