Class.. 그리고 push

강인웅·2021년 11월 4일
0
post-custom-banner

클래스란 객체지향 프로그래밍의 핵심이다

Class

클래스란 객체(ex.{num:1}) 처럼 생긴 객체를 잘 만들기 위한 틀은 맞지만 (ex.{num:1}) 과 같은 데이터 타입은 아니다.
클래스의 인스턴스화로 인해 생긴 객체(인스턴스)는 메소드와 멤버변수를 가질 수 있다.
원하는 구조를 먼저 짜놓고 공장처럼 찍어내는 기계라고 나는 이해하였다.
객체를 매번 생성해도 상관은 없지만 큰 프로젝트에서 계속해서 쓰이는 비슷한 모양의 객체는 class를 사용한다면 효율적으로 개발할 수 있다.

class Car {
  constructor(name, price) {
    this.name = name;
    this.price = price;
  }
}
  • 클래스 명의 첫글자는 대문자가 와야하며 CamelCase로 작성해줘야한다.
  • constructor은 생성자 함수라고 부르며 객체와 가장 큰 차이점이라고 할 수 있겠다.
  • class의 실행범위에서 this는 해당 인스턴스를 의미한다.
  • name,price같이 클래스내의 컨텍스트 어느곳에서나 사용할 수 있는 변수를 멤버변수라고 한다

instance

const morning = new Car('Morning', 2000000);
위와 같이 class로 객체를 생성하는 과정을 인스턴스화라고 하며 class를 통해 생성된 객체를 인스턴스라고 부른다

  • 인스턴스는 클래스명에 new를 붙여서 생성해주며 new는 constructor메소드를 호출하며 새로운 인스턴스를 반환해준다

    class는 새로운 인스턴스를 생성할 때마다 constructor()메서드를 호출한다

Method

메소드는 함수이다. 객체 내의 프로퍼티로 함수를 갖고 있으면 그것을 메소드라고 부른다.



push 메소드

let a = new Array();
console.log(a.push(1,2,3,4,5))

배열에 push 메소드를 찍어보던 중 알게된 사실인데
직관적으로 나는 콘솔로그의 출력값이 당연히 [1,2,3,4,5]가 출력될 줄 알았지만 값은 5가 나왔고 배열 a에 push를 계속해서 넣어줄 수록 push해주는 길이가 더해져서 값이 출력되었다.

그래서 MDN문서를 찾아보니

push() 메서드는 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환합니다.

라는 사실을 알게되었다.
push()메소드는 배열에 값을 삽입해 줄 뿐만 아니라 배열의 길이값도 반환해준다.

profile
Developer
post-custom-banner

0개의 댓글