10/29

자햐·2024년 10월 26일
0

교육

목록 보기
45/51

객체 리터럴

저렇게 쓰면 이제 male과 female말고는 다른 스트링이 들어오지 못함

리터럴 타입

  • 리터럴 타입은 특정 값을 나타내는 타입으로 해당 값이 정확하게 일치해야 한다.
    타입스크립트에서 사용되는 리터럴 타입에는 다양한 종류가 있다.



리터럴 타입 사용하면 좋은 점

  • 코드의 가독성이 높아짐
  • 잘못된 값이 들어오는 것을 방지할 수 있음


위의 예시를 보면 age가 스트링 타입일때 오류를 발생시키는 것을 볼 수 있음.

유니온, 타입별칭, 타입가드


유니온 타입 = 공용체

공용체도 사용자 정의 타입..이다


item에 빨간줄이 그어짐 -> 문자열도 들어올 수 있다는 위험성을 알려줌

이러한 위험성을 막기 위해 typeof 연산자를 쓸 수 있음


이런식으로 타입가드를 통해 타입 검증을 해줄 수 있다.

타입별칭 : 또다른 타입 재정의
유니온 : |쓰는 것

Array와 Tuple

array와 tuple의 차이점

  • array는 길이가 가변적이며 동일한 타입의 요소로 구성
  • tuple은 길이가 고정적이며 각 요소의 타입이 정해져 있음

실습

클래스와 객체 만들기

타입스크립트 기반의 oop

구조체, 공용체, 열거형, 인터페이스, 클래스...
-> 연관된 변수와 함수들을 한 덩어리로 묶음.

클래스와 객체
클래스(설계도, 생산틀)는 객체(클래스의 실체)의 뼈대.

실습

생성자

위의 예시에서는 객체의 클래스 멤버변수 값을 하나하나 초기화시켜줬다.
-> 불편하다.
-> 생성자 이용

컴파일 기반 언어에서는 생성자를 쓸 때 클래스의 이름과 동일하게 작성하지만,
타입스크립트에서는 그렇지 않음 -> constructor을 쓴다.

실습

생성자에서 매개변수를 선택적으로 넣고 싶다면 옵서녈 기호(?)를 쓰면 된다.
주의점 : 필수 매개변수를 다 쓰고 난 뒤에 선택적 매개변수를 작성해야 한다.
아니면 아래 new Employee(); 호출할 때 괄호 안의 매개변수 순서에서 착오가 생길 수 있음.

접근지정자

접근지정자를 통해 보호를 해줄 수 있다.
근데 캡슐화를 시켰는데 캡슐 안 내용물을 완전히 볼 수 없는 것도 문제다.
어떻게 해야할까? -> 다음 챕터

getter와 setter

private으로 선언된 멤버변수에 접근할 수 있도록 ts에서 제공하는 getter와 setter 메서드.

cf.다른 언어에도 그렇지만 private 변수 앞에는 언더바를 붙이는 관습이 있다.

public으로 선언된 get과 set을 통해 캡슐의 내용물에 접근을 할 수 있다.

  • 생성자에서 멤버를 선언하여 코드를 단축시킬 수 있다.
profile
산업과 예술의 만남에 있는 예비 개발자..

0개의 댓글