패스트캠퍼스 TypeScript 강의 Ch 7. Generics 복습 내용 참고링크 https://poiemaweb.com/ http://typescriptstudy.com https://icerabbit.tistory.com/94 📕 Generics 정리 📌 Generic class 인스턴스 생성시 제네릭을 별도로 지정하지 않으면 매개변수에 의해 추론되며, 직접 지정시 매개변수 값은 타입을 일치시켜야 한다. (즉, 제네릭을 사용하면 컴파일 타임에 타입 에러를 체크할 수 있다.) 📌 Generic extends 타입은 항상 가장 작은 범위로 추론할 수 있도록 제한해주는 것이 컴파일 오류를 줄일 수 있는 방법이다. (제네릭에서의 extends는 확장보다는 제한의 의미로 해석하는 것이 이해가 쉬울듯 하다..) 📌 keyof keyof 키워드를 사용하면 오브젝트의 key 값을 문자열로 얻을 수 있다. 이렇게
패스트캠퍼스 TypeScript 강의 Ch 7. Generics 복습 내용 참고링크 https://poiemaweb.com/ http://typescriptstudy.com 📕 Generics 정리 📌 제네릭의 개념 제네릭은 다수의 데이터 타입에 대해 클래스/인터페이스 혹은 함수가 동일하게 동작할 수 있게 해주는 기능이다. (제네릭 클래스, 제네릭 인터페이스, 제네릭 함수 등을 사용할 수 있다.) 📌 Generics 기본 사용법 📌 Generics vs Any 위와 같이 일정한 규칙에 따라 특정 로직을 수행하는 함수가 반복적으로 필요한 경우를 가정하였을 때, Any와 Generic을 사용하여 함수를 간단히 작성할 수 있다. 1. Any의 경우 any를 사용하면 함수 호출시 작성한 매개변수의 타입에 상관없이 어떤 값이든 any 타입으로 지정된다. (타입별로 사용 가능한 내장함수의 활용이 어려움) __2. Ge
패스트캠퍼스 TypeScript 강의 Ch 6. Class 복습 내용 참고링크 https://poiemaweb.com/ http://typescriptstudy.com 📕 Class 정리 📌 Singletone 어플리케이션이 실행되는 중간에 클래스로부터 단 하나의 오브젝트만 생성해서 사용하는 패턴 constructor() 메서드에 접근제어자 private를 지정하면 인스턴스 생성이 불가능해지므로 간단하게 싱글톤 패턴을 구성할 수 있다. (검증된 디자인 패턴을 활용하여 코드를 작성하면 명확한 논리구조를 짤 수 있다는건 알겠지만 아직 싱글톤 패턴의 사용목적과 장단점을 정확하게 파악하지 못했다.. 추후 직접 활용하면서 확인해볼 예정😓) 📌 상속 extends 키워드를 통해 사용하며, 부모 클래스의 프로퍼티와 메서드를 물려받으면서 멤버를 추가로 지정할 수 있도록 해준다. (protected로 지정된 멤버를 활용할 수 있다.
패스트캠퍼스 TypeScript 강의 Ch 6. Class 복습 내용 참고링크 https://poiemaweb.com/ http://typescriptstudy.com 📕 Class 정리 📌 Class 개념 클래스는 객체를 생성하는 템플릿의 기능을 한다. property와 method를 포함하는 형태이며, 객체 생성시 property를 초기화하는 constructor() 메서드가 포함된다. 📌 접근제어자 java에서 사용하는 public, private, protected 와 동일한 형태로 사용 가능하며, 접근제어자 생략시 기본 값은 public으로 지정된다. (java의 경우 protected) public 객체의 내부, 외부에서 접근 가능. default 값. private 해당 클래스 내부에서만 접근 가능. protected 해당 클래스 내부 및 서브 클래스(상속된) 내
패스트캠퍼스 TypeScript 강의 Ch 5. Interfaces 복습 내용 참고링크 https://poiemaweb.com/ https://typescript-kr.github.io/pages/interfaces.html 📕 Interface 정리 📌 인터페이스 확장하기 extends 키워드를 사용하여 인터페이스의 확장(상속)이 가능하며 ,를 통해 다중요소로부터의 확장도 가능하다. 📌 함수를 인터페이스로 만들기 helloPerson() 함수 실행시 함수를 선언하여 실행내용을 작성한 부분보다 기존 인터페이스의 형태를 우선하여 따른다. 인터페이스 HelloPerson은 age를 선택적 속성으로 지정하였으나, 해당 구문에서는 기본 속성으로 지정하였기 때문에 기존 인터페이스 형식과 맞지 않아 오류가 발생한다. (age?: number로 수정시 정상작동) 📌 Readonly property 속성명 앞에 __re
패스트캠퍼스 TypeScript 강의 Ch 5. Interfaces 복습 내용 참고링크 https://poiemaweb.com/ https://typescript-kr.github.io/pages/interfaces.html 📕 Interface 정리 📌 Interface 개념 타입스크립트에서 타입을 만들어내는 방식을 의미하며, 인터페이스는 여러가지 타입을 갖는 프로퍼티로 이루어진 새로운 타입을 사용자가 정의할 수 있게 해준다. (외부적으로 사용방식이 드러나게 작성되어 있는 형태) 📌 Interface의 기본 형태와 사용방식 위의 함수 hello()는 Person 타입을 가지는 인자를 받는다. (npx tsc 명령어 실행 후 js 파일을 확인해보면 인터페이스는 컴파일 타임에만 필요하다는 것을 확인 할 수 있다.) 📌 Optional property _**항상 필요한 속성이 아닌 상황에따라