다형성(Polymorphism)❓poly란?many, serveral, much, multi 등과 같은 뜻❓morphos란?form, structure 등과 같은 뜻❗polymorphos = poly + morphos = 여러 다른 구조 1. concrete type ?number, boolean, void 등 지금까지 배운 타입unknown, void, number,boolean,string 등2. generic (제네릭) :제네릭은 타입의 placeholder같은 것이다.💡 (arr: T[]):T //concrete type을 사용한 콜 시그니처(arr: number[]):void(arr: boolean[]):void(arr: string[]):void(arr: (number|boolean)[]):..
Overloading(오버로딩)function overloading이나, method overloading이라고 부르는데 핵심은 오버로딩이다.오버로딩은 함수가 여러개의 Call Signatures를 가지고 있을 때 발생시킨다. 나쁜 예시type Add = { (a:number, b:number) => number (a:number, b:string) => number //---> 두개의 Call Signatures를 갖고 있다.}const add:Add = (a,b) => a+b //error! b is string|number//나쁜예시const add:Add = (a,b) => { if (typeof b === "string") return a; return a + b;} 실제 Next.js(Rea..
Call SignaturesCall(=Function) Signatures라는 것은 함수의 매개변수와 반환 값의 타입을 모두 type으로 미리 선언하는 것이다.//Add타입을 만든다.type Add = (a:number, b:number) => number;//함수의 타입을 설명해 주고 코드를 구현할 수 있다.//a와 b에 타입을 써주지 않아도 TS가 알고 있다. Add타입에 프로퍼티 타입이 정의되어 있음.const add:Add = (a,b) => a+b//add함수는 'void를 반환하지 않는다'는 오류 메세지가 뜬다.(number타입을 반환으로 받아야 함.)const add:Add = (a,b) => { a + b } //void는 아무것도 리턴하지 않는다.//원래는 각각 타입을 작성해 줘야 했지..
1) Readonly(읽기전용) 속성클래스, 인터페이스 등 오브젝트로 구현된 컴포넌트의 (property) 속성을 "읽기 전용"으로 선언하는 제어자.타입스크립트에서 **readonly**는 클래스의 속성이나 변수가 한 번 초기화되면 변경되지 않아야 함을 나타내는 접근 제한자이다.readonly로 생성된 속성은 생성과 초기화를 동시에 해줄 필요는 없다. 하지만 첫 번째 초기화 이후엔 값을 변경할 수 없다.type Name = string;type Age = number;type Student = { readonly name : Name, age? : Age }function jsArrowFunc = (name:string) : Student => ({name}) const jun = Student..
챌린지 1일차 ! 먼저, 명시적 타입 선언 방법들에 대해 알아보겠습니다.TS 변수 선언 방식1. 명시적 변수 선언const (ValueName) : (Type) = (Value)2. 암묵적 변수 선언const (ValueName) = (Value) 명시적 타입 선언 방법타입 시스템자바스크립트는 변수를 생성 하기만 하면 되고 그 변수가 어떤 타입인지 지정해주지 않아도 됨.하지만 자바나 C#, 타입스크립트는 모든 것의 타입을 지정해줘야한다.let a = "hello"a = "bye" // a가 string이라는 것을 알고 있음.a = 1 //error👉 자바스크립트는 가능let a = "hello"let b : boolean = "x" //errorlet b : boolean = false 👉 타입스..

타입스크립트를 사용하는 이유는?타입 안정성은 타입스크립트가 제공하는 가장 큰 장점이다.타입스크립트는 자바스크립트로 컴파일되는 언어이다.자바스크립트로 변환되기전에 타입을 체크하기 때문에 에러가 있으면 그 코드는 자바스크립트로 변환되지 않기 때문에 개발자가 실수하지 않도록 도와준다. 📍TS와 다른 자바스크립트 성격 자바스크립트는 타입 안정성이 없는 언어이다.자바스크립트는 이상한 코드를 작성해도 에러가 없음! 개발자에 대한 이해심이 많은 언어이다.[1,2,3,] + false=> '1,2,3false'function divide(a, b) { return a / b}=> undefineddivide("xxxxx")=> NaN 위 코드의 divide 함수는 두개의 아규먼트가 필요한데, 한개만 입력해도 NaN이..
- Total
- Today
- Yesterday
- 오블완
- 티스토리챌린지
- 챌린지1일차
- nomard
- create react app
- 노마드
- React
- Async
- props
- 프로젝트회고록
- ReactJS
- 프로그래머스
- 카카오로그인
- useState
- await
- overloading
- CLI
- 자바스크립트
- 리액트
- NPM
- 리액트네이티브
- 오버로딩
- slice
- splice
- ts
- 타입스크립트
- useEffect
- TypeScript
- Cleanup
- 재귀함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |