28/07/2022
key
든 상관없이 다 string이고 값은 string인 타입만들기https://www.typescriptlang.org/docs/handbook/2/mapped-types.html
interface에서는 | (or) 과 & (and) 사용 불가!
impelenets
, private
, protected
사용!private
과 차이점 => 상속 받은 instance에서는 사용가능함!a
는 사용할 수 없지만 C에서 protected인b
는 사용가능함instance
에서는(=> new C
에서는 private 과 protected 둘 다 못씀!)
- js 변환을 하고 나면! private과 protected 는 다 사라짐!
-zrcho님은 굳이 interface
에 implements
안한다고 함 => readonly 다 쓸 수 있으니께
1:20:00
<T>
로 적어놓고 실제로 사용할 때 뭘 넣을지 결정한다!
extends
+ 타입으로 제한해줄 수 있음generic
실제 사용 분석interface,type, class 모두 generic
사용가능 이름 바로 뒤에 <T>
붙이기
타입스크립트가 알아서 잘 추론하고 있음 how?
line 3
number
이고 U는 toString()
을 해준 리턴값이니까 string!
line 4-5
filter 함수 2개 분석
line 8
을 보면서 input 값과 return 값을 보면서 line 4-5
의 타입 T
나 S
를 실제에 대응하는 값으로 바꿔주면서 분석하기!=>
리턴값이 S 인지 unknown 인지? => S는 extends number
로 narrowing 되어 있음! S로 보는 것이 합리적!string[]
> => 문자열만 들어올 수 있음 line 3
(a:string) => number
> T는 콜백함수로 문자열 받아서 숫자 리턴함/ 콜백함수 형태 잡아줌