프론트엔드/TS 공부23 타입스크립트의 객체 지향 최종 수정 : 2024-05-24타입스크립트의 객체 지향(OOP)자바스크립트는 프로토타입 기반의 객체 지향 언어로 분류된다. 그러나 전통적인 객체 지향 프로그래밍 언어에서 기대할 수 있는 일부 기능을 지원하지 않아 객체 지향을 온전히 구현하는 데 부족함이 있다. 이러한 제약을 타입스크립트가 private과 같은 접근 제어자나 추상 클래스, 추상 메서드 같은 기능을 지원하면서 해결해준다. 결국, 타입스크립트는 객체 지향을 구현할 수 있도록 도와주는 자바스크립트의 슈퍼셋이라고 말할 수 있다. 타입스크립트는 점진적 타이핑, 구조적 타이핑 그리고 덕 타이핑이 결합한 언어이다. 이 3가지 개념이 섞인 언어는 흔치 않은데, 이것들이 모여 객체 지향의 폭을 넓혀준다고 말할 수 있다. 점진적 타이핑프로그램 전체가 아닌.. 2024. 5. 24. HTML DOM + React 타입 정리 최종 수정 : 2024-05-24HTML 타입HTMLElement 타입HTMLElement 라는 이름으로 DOM 노드에 대한 타입을 사용할 수 있다.const usernameInput = document.getElementById('username') as HTMLInputElement;const submitButton = document.getElementById('submit') as HTMLButtonElement; InputHTMLAttributesimport { InputHTMLAttributes } from 'react';interface Props extends InputHTMLAttributes {}export default function Input({ className = '', ..... 2024. 5. 24. React.FC 최종 수정 : 2024-05-24FC란Function Component 타입의 줄임말로, React + TypeScript 조합으로 개발할 때 사용하는 함수형 컴포넌트에 타입 선언에 사용한다./** React.FC의 타입정의 */type FC = FunctionComponent;interface FunctionComponent { (props: P, context?: any): ReactNode; propTypes?: WeakValidationMap | undefined; contextTypes?: ValidationMap | undefined; defaultProps?: Partial | undefined; displayName?: string | undefined;}보는 바.. 2024. 5. 24. ReactNode / ReactChild / ReactElement / JSX.element 최종 수정 : 2024-05-24 클래스형 컴포넌트는 render()에서 ReactNode를 리턴하고, 함수형 컴포넌트는 ReactElement 인터페이스를 리턴한다. 왜 그럴까? 그것은 historocal reasons이라고 한다.historocal reasonsReactNode 이외에는 null 타입을 가지지 않으므로 ReactElement를 리턴하는 함수형 컴포넌트에서는 아래와 같 null을 union 해줘야 한다.const example = (): ReactElement | null => { if(true condition) return null; return Hello World;};ReactElement와 JSX.Element는 묶어서 생각해도 좋다. JSX.Element의 제네릭 인.. 2024. 5. 24. 타입스크립트 이해하기 - 타입 시스템(정적 / 동적 / 점진적) / 집합 / 호환성 / 타입 계층 최종 수정 : 2024-05-27문법 배우기도 바쁜데, 원리까지 알아야 하는가?문법만 배워서 바로 쓰기에는 타입스크립트가 만만한 대상이 아니다.모든 프로그래밍 언어는 타입 시스템을 가지고 있다.타입 시스템언어의 타입 관련된 문법 체계를 말하며, 정적 타입 시스템과 동적 타입 시스템으로 나눌 수 있다.값들을 어떤 기준으로 묶어 타입을 규정할 것인가?코드의 타입을 언제 검사할 것인가?어떻게 타입을 검사할 것인가? 정적 타입 시스템코드 실행 이전에 모든 변수의 타입을 고정적으로 컴파일러가 결정한다. 코드를 실행하기 전에 정적으로 변수의 타입을 결정한다. 따라서 엄격하고 고정적인 시스템이다. 대표적으로 C언어, Java가 이에 해당한다.모든 변수에 일일이 타입을 지정해줘야 하므로 타이핑 양이 증가하고 유연하지 .. 2024. 5. 21. 이전 1 2 3 4 5 다음