classPerson { name: string = "Mark" age: number } const p1 = newPerson() p1.age = 39// 초기값 없이 이후에 값을 설정 하고 싶을때 console.log(p1)
초기값이 없으면 에러가 뜬다
1 2 3 4 5 6 7 8
classPerson { name: string = "Mark" age!: number// age 뒤에 ! 를 붙여준다 } const p1 = newPerson() // p1.age = 39 // age 뒤에 ! 가 붙어있는데 값을 설정 하지 않은 경우 console.log(p1.age) // undefined가 뜬다
접근 제어자 (Access Modifiers)
접근 제어자에는 public, private, protected가 있다
설정하지 않으면 public
클래스 내부의 모든 곳에(생성자, 프로퍼티, 메서드) 설정 가능하다
private 으로 설정하면 클래스 외부에서 접근할 수 없다
자바스크립트에서 private 지원하지 않아 오랫동안 프로퍼티나 메서드 이름 앞에 _를 붙여서 표현 했다
1 2 3 4 5 6 7 8 9 10 11 12 13 14
classPerson { name: string = 'Mark' age: number
privateconstructor(age: number) { this.age = age }