본문 바로가기

자바스크립트 리뷰

class를 정의할때 사용자의 실수를 막는 장치를 넣어둘 수 있다. [혼공자 9-2-5]

자 일단 말로 풀어보자. 제목 그대로다. class를 정의할 때, 그 클래스의 사용자가 저지를 수 있는 실수를 미리 방지하는 코드를 넣을 수 있다. 그런 실수 중 하나가 길이 값을 클래스의 파라미터로 넣어야 하는데 음수를 넣는 경우다. 길이 값은 음수가 될 수 없다. 

그럼에도 불구하고 누군가가 실수로 음수를 넣었을 때, 콘솔창에 오류가 뜨도록 할 수 있다. 코드를 보자.

      class Square {
        constructor (length) {
          if (length <= 0) {
            throw '길이는 0보다 커야 합니다.'
          }
          this.length = length
        }
        getPerimeter () { return 4 * this.length }
        getArea () { return this.length * this.length }
      }

      // 클래스 사용하기
      const square = new Square(-10)
      console.log(`정사각형의 둘레: ${square.getPerimeter()}`)
      console.log(`정사각형의 넓이: ${square.getArea()}`)

square 클래스의 파라미터로 -10을 넣었다. 이 경우 -10을 넣고 저장을 누르는 순간부터 콘솔창에는 Uncaught 에러가 빨갛게 뜨기 시작한다. 

아래쪽 console.log 를 치지 않아도 말이다. 참고로 알아두면 좋을 것 같다.