이전 글에서는 interface를 통한 타입을 지정했다.
이제 해당 타입을 사용하기 위해서 object를 정의해서 넘기고 있는데 해당 부분을 좀더 가시성있고 구조적으로 정의해서 사용할 수 있는 class를 사용한다.
현재 구현한 interface이다.
기존엔 해당 객체를 그냥 단순히 정의해서 넘겨주는 방식이였다.
{
key1:value1,
key2:value2
}
이렇게 사용하다보니 어떤 파라미터를 넘기는지 불명확하고 어떤 키값을 사용해야되는지 해당 타입을 찾아서 모두 기입해주어야 하는 불편함이 존재한다.(물론 해당 타입에 대한 설명이 제공되지만..) 그래서 해당 interface를 구현한 class를 만들어 객체를 만드는 방식으로 코드를 수정했다.
위의 interface를 구현한 class 코드. 지금은 모두 public으로 설정되어 있지만 사용자에 따라 캡슐화나 은닉화의 장점을 살릴 수 있다.(js에서 객체지향방식의 코드를 쓸 수 있는 ts 매력적...!!!!)
수정전
수정후
좀 더 코드를 직관적으로 볼 수 있게 되었다!!