일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 데이터분석
- 자바 실습
- 타입스크립트심화
- rnn
- 혼공머신
- 중학수학
- html/css
- 정보처리기사필기
- 중학1-1
- 순환신경망
- 머신러닝
- 데이터베이스
- JDBC
- ChatGPT
- 딥러닝
- 파이썬
- 상속
- 쇼핑몰홈페이지제작
- JSP/Servlet
- 자바스크립트
- 자바
- 개발일기
- 정보처리기사실기
- 컴퓨터비전
- SQL
- 자바스크립트심화
- 디버깅
- 연습문제
- JSP
- 컴퓨터구조
- Today
- Total
목록타입스크립트심화 (22)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
힘들지만 남은 2주 차 수업을 모두 다 듣고 취침해야겠다. 이번에는 Accessor 데코레이터에 대한 내용이다. 이론 6 - Accessor Decorator target, Property Descriptor 등이 있다. 정규표현식을 넣어 사용할 수 있다. 퀴즈 6 - 접근자 데코레이터 이 문제도 아무것도 모르겠기에 헬퍼에게 물어보며 풀었다. 먼저, validate 함수에 regexp 문자열이나 정규표현식 객체를 전달해 보자. 그다음,validate 함수 안에서는 객체의 타입과 속성, 속성 설명자를 인수로 받는 콜백 함수를 정의할 수 있다. 접근자 데코레이터에서 getter와 setter 함수를 교체하기 위해 descriptor.set 값을 할당해야 한다.그리고 actualF..
슬슬 잠이 오려고 한다. 오늘 적어도 2주 차 학습까지 마치고 싶은데 말이다. 이론 5 - Method Decorator 퀴즈 5 - 메서드 데코레이터 메서드 데코레이터 안에서 메서드를 교체하려면 property descriptor 안에 있는 value 프로퍼티를 새 함수인 decoratorFunc로 변경해야 한다. 그래서 ???에는 decoratorFunc가 들어가야 한다. 다시 풀어보기이 문제는 메서드 데코레이터(function) 안에서 메서드를 바꾸기 위한 코드를 작성하는 것이다. 메서드 데코레이터는 클래스의 메서드에 적용되어, 메서드가 호출될 때 특정한 행동을 하거나 함수에 수정이 필요할 때 유용하다. 이 문제에서는 decorator..
이번에는 클래스 데코레이터에 대해서 학습해 보겠다. 이론 4 - Class Decorator 값을 반환하는 경우도 있다. 타입 에러가 나지만 실제로는 접근 가능하다. 퀴즈 4 - 클래스 데코레이터 아무리 봐도 모르겠기에 찍었다. 문제에 대한 해설은 다음과 같다. 문제에 대한 설명먼저, 문제에서 주어진 코드에는 addGenre라는 함수가 있다. 이 함수는 문자열인 genreArg를 매개변수로 받아들이고, 하나의 인자를 가진 함수를 반환한다.addGenre 함수 안에서는 클래스 데코레이터 역할을 하는 함수가 정의되어 있다. 이 함수는 제네릭 타입(T)과 생성자 함수(constructor)를 매개변수로 받아들인다. return 문에서는 class exte..
다음으로는 Type Assertion에 대해서 공부해 보겠다. 이론 6 - Type Assertion 타입을 이렇게 명시해 줄 수 있다. type assertion은 실제 값은 변하지 않고 타입만 명시해 주는 것을 말한다. assertion을 하면 someValue는 string이 된다. as 키워드를 사용할 수도 있다. 따라서 as 키워드로 사용하는 것이 더 좋다. 타입 단언은 개발자의 말을 믿기에 빈 객체임에도 에러가 나지 않는다. 타입 선언은 모두 채우지 않으면 오류가 나기 때문에 타입 선언을 하는 것이 좋다. 퀴즈 8 - Type Assertion 실습 7 - Type Assertion 타입 캐스팅은 타입을 변환하는 것이고, 타입 assert..
이번에는 오버로딩 함수에 대해서 공부해 보겠다. 이론 5 - Fuction Overloading id가 string일 수도 number 타입이 될 수도 있다. 그럴 때 함수 오버로딩을 선언해 준다. 매개변수 타입은 다를 수도 있다. 파라미터에 들어갈 타입이 무엇인지 알고 있으면 함수 오버로딩을, 어떤 타입이 올지 모르거나 타입을 다양하게 사용하고 싶을 때 제네릭을 사용하면 된다. 퀴즈 7 - Function Overloading 이 문제는 틀렸다. 어떤 문제든 한 번에 맞히기는 힘든 것 같다.먼저, 함수 오버로딩이 무엇인지 알아보자. 함수 오버로딩은 같은 이름을 가진 여러 개의 함수를 만드는 것이다. 이 함수들은 서로 다른 매개변수의 개수나 타입을..
이어서 다음 학습도 진행해 보겠다. 이 용어도 처음 들어본다. 이론 4 - Nullish Coalescing Operator falsy하면 B를 아니면 A를 반환하는 값이다. 이 둘은 기본값을 설정할 때 사용되지만, 작동 방식에 중요한 차이가 있다. ?? (Nullish Coalescing Operator)??는 값이 null 또는 undefined인 경우에만 오른쪽 값을 반환한다.다른 Falsy 값(0, false, NaN, '')은 그대로 반환한다.price가 0일 때도 유효한 값으로 간주되므로, 의도대로 동작한다. 퀴즈 6 - Nullish Coalescing Operator 하지만 틀리고 말았다. 이 문제는 다음과 같이 진행된다.먼저, HelloBot 클래스의 setN..
점심을 먹고 조금 쉰다는 것이 2시간 반이나 놀고 말았다. 쉬면서 지난 3년 간의 다이어리도 정리하고 올해 새로운 마음으로 굿노트 다이어리를 다시 쓸 수 있을 것 같아 개운해졌다.이제 잘 쉬었으니 앞으로 4시간 동안 정말 열심히 공부할 생각이다. 그럼 공부를 시작해 보겠다. 이론 3 - Optional Chaining Optional Chaining은 객체가 null 또는 undefined이면 undefined를 리턴하는 것이다. data라는 객체에서 프로퍼티를 사용하려고 할 때 if를 작성하지 않고 넘어가게 하려면 물음표를 사용하면 된다. optional과 자주 비교되는 연산자이다. falsy는 false로 평가될 수 있는 값이다. hasTail이 true이면 뒤에 dog.살랑살랑을 실..
실습 문제까지만 풀고 아침 공부를 마치고 쉴 생각이다. 그럼 바로 타입 가드 문제를 풀어보겠다. 실습 3 - Type Guard index.tx discriminated-union.ts 다양한 연산자 살펴보기 1. instanceof특정 클래스가 있을 때 클래스라는 Klass가 klass의 객체인지 알아볼 때 사용한다. 2. typeofa라는 데이터가 원시타입 number와 동일한지 물을 때 사용한다. 3. in어떤 객체가 있을 때 key라는 객체의 프로퍼티가 있는지 확인할 때 사용한다. key에 프로퍼티가 있으니 true가 된다. 4. literal type guard구체적인 값을 나타내는 것으로 리터럴을 사용하여 값을 구분한다. switch case나 if, else를 사용해도..
타입스크립트 심화 과정이 정말 어렵다. 여기서 포기하고 다른 과목을 공부할까 고민도 많이 했지만 여기서 그만 두면 아무것도 아닌 것이 된다. 시간도 얼마 남지 않았으니 남은 시간 동안 빠르게 공부를 진행해 보겠다. 오늘 하루 만에 이 수업을 다 마치는 건 무리인 것 같다. 아직 1주 차의 1/3도 배우지 않았는데 이처럼 어려워서 시간이 많이 걸리니 어느 세월에 다 할 수 있을지 의문이다.그래도 오늘 최대한 공부를 많이 해서 3주차까지는 마치도록 해볼 것이다. 이론 2 - Type Guard 타입을 구별할 수 있는 유니온 타입을 말한다. 이렇게 해서 bark나 think 메서드를 사용할 수 있게 된다. 타입을 비교할 수 있는 연산자이다. 일치 연산자는 등호가 세 개인..
다음으로는 실습 문제를 두 문제 풀어보겠다. 이 문제에 대한 해설 영상도 상당히 길다. 심화 과정이라 그런지 기초에 비해 훨씬 더 어렵다. 그래도 잘 따라가 볼 것이다. 실습 1 - Intersection Type 문제 풀기먼저 메서드를 선언하는 구현부를 작성한다. 그런 다음 이 둘의 메서드를 intersection한다. 교차 타입이 되면 타입을 사용한 구현이 가능하다. 26번째 줄에 선생님은 콤마를 찍었지만 이건 생략을 해도 된다. 심화 내용 학습문제는 다 풀었지만 타입스크립트에서 겹치는 타입이 있을 때 주의할 점에 대해서 알아본다. 1. 타입이 같을 때공통된 프로퍼티가 있을 때 interesection을 하면 같은 타입이라면 오류가 나지 않는다. 이렇게 같은 타입을 쓰고 콘솔 ..