설명할수 없으면 아무것도 아니다

매일 조금씩 쓰면서 뭘 했는지 기록하고 좋았던 것과 나빴던 것을 바탕으로 새 글을 수정합니다.

Frontend Develop/TypeScript 14

타입스크립트 - get, set, static, readonly

getters, setters란 비공개로 설정하려는 속성은 private로 설정하고, 속성값을 읽고 수정하는 getter/setter함수를 사용한다. readonly란 읽기만 가능한 속성을 선언할 때 사용한다. static은전역 멤버를 선언할 때 사용한다. 여기서 전역 멤버는 객체마다 할당되지 않고, 클래스의 모든 객체가 공유하는 멤버를 말한다. 📝 getters, setters get, set을 사용하는 이유는 클래스의 속성에 직접 접근하는 것을 막고, getters, setters함수를 사용해 값을 받아오거나 수정하기 위해서 사용한다. 만약 속성에 직접 접근해서 수정한다면 데이터 무결성이 깨질수 있기 때문에 getters, setters를 활용하여 데이터를 접근하여 수정하는 것을 권장한다.(캡슐화 권..

타입스크립트 객체 지향 프로그래밍(OOP) - 접근제어자, 상속

📝 객체 지향 프로그래밍 객체 지향 프로그래밍(OOP)이란 Object-oriented programming 의 준말로 컴퓨터 프로그램을 객체의 모임으로 파악하려는 프로그래밍 패러다임이다. 객체는 서로 메시지를 주고 받을 수 있으며 데이터를 처리할 수 있다. 📋 객체 지향 프로그래밍(OOP)의 장점 프로그램을 유연하고 변경이 용이하게 만든다. 프로그램의 개발과 보수를 간편하게 만든다. 직관적인 코드 분석을 가능하게 한다. 중요한 특성으로 강한 응집력(Strong Cohesion)과 약한 결합력(Weak Coupling)을 지향한다. 📝 Class 생성하기 클래스란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용된다. 클래스의 요소는 필드(field), 생성자(constructor), 메소드(metho..

타입스크립트 유틸리티 타입(utillity type)

📋 타입을 정의하는 방법(Type alias) let p1: {name:string, age:number} = { name: "hyonie", age: 20 }; 타입을 직접 정의할 수 있지만, 매번 타입을 정의하는것 번거로운 일이기 때문에 아래와 같이 타입자체에 이름을 붙여 변수를 만들 수있다. type Human = { name: string; age: number; } let p2:Human = {name:"hyonie", age:20}; type Human 안에 name, age를 프로퍼티라고 한다. 🤔 유틸리티 타입이란 이미 정해 놓은 타입을 변환하고 싶을 때 사용하면 좋은 타입이다. 따라서 유틸리티 타입을 이용하면 기존의 타입을 이용해 새로운 타입을 만들수 있다. (인터페이스도 유틸리티 타입을..

타입스크립트의 타입 - 기본 자료형, 참조 자료형, 추가 제공 자료형

📋 타입스크립트를 쓰는 이유 동적 타입을 정적으로 선언할 수 있다. 타입 유추를 통한 타입 제어가 가능하다. 컴파일 시점에 오류를 포착할 수 있다. JavaScript에서 찾을 수 없는 추가 코드 기능을 제공한다. ✅ 동적 타입을 정적으로 선언할 수 있다. 자바스크립트는 a변수에 number, string 으로 어떤 값이든 할당이 가능했다. 타입스크립트에서는 a변수에 타입 표기(Type Annotation)를 number로 정의하여 number 타입 값만 할당이 가능하다. 만약에 string 값을 넣는다면 컴파일 시점에서 에러가 발생한다. ✅ 타입 유추를 통한 타입 제어가 가능하다. 자바스크립트에서는 함수의 매개변수와 return을 제어할수 없었다. 타입스크립트에서는 매개변수를 number로 제어 할수 ..