Javascript static 속성

BooKi·2022년 3월 6일
0

Javascript

목록 보기
44/46
post-thumbnail

⭐Javascript static 속성

📕static 속성

간단하게 예를 들기위해 지난번에 만들어진 Square 클래스를 줄이도록 하겠다

<script>
  //만들어진 Square 객체의 개수를 알고 싶을 때
  class Square {
    constructor (r) {

    }
  }
  new Square() //1번
  new Square() //2번
</script>

기본적인 방법으로는 클래스 안에 count 변수를 만들어

생성자가 호출되는 시점에 count가 증가하도록 만들면 된다

  let count = 0
  class Square {
    constructor (r) {
      count += 1
    }
  }
  
  console.log(count) -> 0
  new Square()
  new Square()
  console.log(count) -> 2

그러나 클래스의 종류가 많아지게 되면 count가 어떤 클래스의

횟수를 세는지 알기 어려워진다

그래서 앞에 클래스의 이름을 붙이고 . 을 써서 사용을 하면 된다

클래스의 이름을 써야하기 때문에 코드는 클래스 뒤에 써야한다

<script>
  class Square {
    constructor (r) {
      Square.count += 1
    }
  }
  Square.count = 0

  console.log(Square.count) -> 0
  new Square()
  new Square()
  console.log(Square.count) -> 2
</script>

또한 Square.function() { } 과 같이 함수도 만들 수 있다

근데 이렇게 class 내부에 있지 않고 밖에 있다보니 헷갈릴 수도 있어서

class 내부에 작성할 수 있기를 원했다

그것이 static 이다

<script>
  class Square {
    static count = 0
    static test () { }
    constructor (r) {
      Square.count += 1
    }
  }

  console.log(Square.count)
  new Square()
  new Square()
  console.log(Square.count)
</script>

이런식으로 static을 앞에 붙이면 클래스. 으로 사용할 수 있는 것이다

profile
성장을 보여주는 기록

0개의 댓글