Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kdn0325/typechain
2022.7.14 TypeScript Study
https://github.com/kdn0325/typechain
typescript
Last synced: about 2 months ago
JSON representation
2022.7.14 TypeScript Study
- Host: GitHub
- URL: https://github.com/kdn0325/typechain
- Owner: kdn0325
- Created: 2022-07-12T12:12:11.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-08-19T09:48:24.000Z (over 2 years ago)
- Last Synced: 2024-10-11T10:21:52.837Z (3 months ago)
- Topics: typescript
- Language: TypeScript
- Homepage:
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Typescript Basic
Primitive Type : 실제 값을 저장하는 자료형
literal : 값자체가 변하지 않는 값
Boolean : true/false
Number : 숫자
String : 문자
Template String : 행에 걸쳐 있거나 표현식을 넣을 수 있는 문자열
Undefined & Null : 고유값
*Void : 타입이 없는 상태 , 주로 함수의 리턴이 없을 때 사용
*Any : 어떤 타입이어도 상관없는 타입 , 최대한 쓰지 않는게 핵심
Never : 리턴에 주로 사용 (자주 안쓰임)
Array : 배열 객체
*Tuple : 배열인데 타입이 한가지가 아닌 경우 (객체임)
*Enum : 비슷한 값들끼리 묶어줄 때 임의의 값을 순차적으로 할당해줌 ⇒ Enum 원소의 결과값은 string
*Symbol : 고유하고 수정 불가능한 값으로 만듬
# Type Assertion
형 변환과 다름
‘타입이 이것이다'라고 컴파일러에게 알려주는 것을 의미함
- 변수 as 강제할 타입 (주로사용)
- <강제할 타입> 변수# Type Alias
타입 별칭을 지어줌
# Interface
### class implements interface
```tsx
interface IPerson {
name:string;
hello():void;
}class Person implements IPerson{
name: stringconstructor(name:string){
this.name = name
}
hello():void{
console.log(`hello ${this.name} 입니다`)
}
public hi(): void {
console.log(`ㅎㅈ ${this.name} 입니다`)
}
}const person : IPerson = new Person("Mark")
person.hi()
```### interface extends interface
```tsx
interface Person {
name:string;
age?:number;
}interface Korean extends Person{
city : string;
}// Person interface를 상속 받고 Korean interface에 city의 타입 추가
const k : Korean = {
name: 'Kdn',
city: 'Seoul'
};
```### function interface
```tsx
interface HelloPerson {
(name:string , age?: number): void;
}let helloPerson: HelloPerson = function (name:string){
console.log(name)
}helloPerson("Mark")
//함수의 타입 체크는 할당할때가 아니라 사용할때 합니다
### Class
```tsx
class Person {
name:string;
age:number;
constructor(name: string ){
this.name = name
}
}
const person = new Person("Mark");console.log(person.name)
//1. 생성자 함수가 없으면 디폴트 생성자가 불림
//2. 클래스의 프로퍼티 혹은 멤버 변수가 정의되어 있지만
값을 대입하지 않으면 undefined임//3. 접근제어자는 public이 디폴트값
```