55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결타입스크립트 입문 - 기초부터 실전까지
에러 ㅠㅠ
똑같이 따라 해봤다고 생각했는데 다시 켜보니..이런 일이 벌어졋습니다 ㅠㅠ 뭐가 문제인지 알고싶습니다 ㅠㅠ
- 미해결타입스크립트 입문 - 기초부터 실전까지
관련 설정 파일 작성하는 방법
.eslintrc.js, package.json 같은 파일들은 직접 작성한건가요? 아니면 관련 커맨드 쳐서 생성되는 건가요?만약 직접 작성하신거면, 저희가 직접 프로젝트 만들 때는 공식문서를 보면서 어떤걸 적어야 하는지 따로 공부해야 하나요? 꽤나 복잡해보이네요
- 미해결타입스크립트 입문 - 기초부터 실전까지
user 자동 완성 관련 공유[질문x]
좋은 강의 감사드립니다 강사님~^^ 강의를 처음 따라오다가 보니 자동 완성이 되는 부분이 있고 안되는 부분이 있네요. 타입스크립트의 장점을 이해하는데는 무리가 없었지만 혹여나 이 부분에 대해 관심 있으신 분들은 아래 스샷을 참고하시길 바라겠습니다^^(전)(후)
- 미해결타입스크립트 입문 - 기초부터 실전까지
유니온 타입 & |
유니온 타입에서 | : 교집합& : 합집합으로 이해하면 되겠네요. ^^
- 해결됨타입스크립트 입문 - 기초부터 실전까지
[섹션5] 인터페이스 딕셔너리 패턴 질문
// 딕셔너리 패턴 interface StringRegexDictionary { // 규칙 // 왼쪽에 오는 것은 문자열 속성 + 값은 정규표현식이 와야 함 [key: string]: RegExp; } var obj: StringRegexDictionary = { cssFile: /\.css$/, jsFile: /\.js$/, } 위의 코드에서 질문있습니다! 위의 코드는, 해당 강의에서 입력한 코드의 일부분입니다.강사님께서 인터페이스대로라면, key값이 string으로 되어있어야 한다고 했는데, 그러면 cssFile, jsFile이 아니라, "cssFile", "jsFile"이어야 하는거 아닌가요?답변해주시면 감사하겠습니다.
- 미해결타입스크립트 입문 - 기초부터 실전까지
예제 이해가 되지 않는데요..
예제로 사용했던 위의 내용에서 오류가 없고실제로도 값이 10 이 나오던데요.궁금한게 logTextLength({length : 10}); 는 logTextLength의 generic 부분이 없는데도 왜 오류가 발생 하지 않나요?generic 은 선언대로 따르지 않아도 되는 건가요?
- 미해결타입스크립트 입문 - 기초부터 실전까지
다른 분 질문과 동일 한데요.. 타입제한 시 예제에서 문의 입니다.
예제로 든 이 함수에서는 현재 길이는 알 수 없는 건가요? 그림에서 처럼 빨간 라인 오류를 표시 하고 있는데요.
- 미해결타입스크립트 입문 - 기초부터 실전까지
name 과 address 값에 계속 빨간 줄이 나와요.
name과 address 값에 계속 빨간 줄이 나오는데 어떤 오류인지 모르겠어요resolve에도 빨간 줄이 나와요. 그래서 아래와 같이 반환 값 타입을 지정해줬더니 괜찮아져요 이유가 뭘까요?
- 해결됨타입스크립트 입문 - 기초부터 실전까지
[참고] 섹션1-3 [자바스크립트에 타입이 있을 때의 첫 번째 장점] - why-ts undefined
섹션1-3 강의명 [자바스크립트에 타입이 있을 때의 첫 번째 장점] 중 why-ts의 app.js에서 axios.get(url)의 response 를 User type으로 정의하였습니다. Promise<User>이때, response가 아닌 response.data가 User type이므로 자동완성을 따라가면 undefined 문제가 발생합니다.이미 많은 질문이 나왔고 답변으로도 말씀하셨듯 필요성을 인지하기엔 충분하므로 수강하시는 분들은 단순 참고 바랍니다.🙏
- 미해결타입스크립트 입문 - 기초부터 실전까지
기본타입 enum 질문
안녕하세요.핸드북 기본타입 > enum 관련 질문이 있습니다.Enum 인덱스번호를 사용하여 변수에 값을 담을 때 VSCode tslint에서 빨간 줄이 표시되어집니다.변수 타입을 enum클래스가 아닌 string 형식으로 구성하라고 표시되어지는데, 최신 버전에서는 enum 인덱스번호로 변수값 설정하는 것이 문제가 있는걸까요? 아니면 제가 값을 코드를 잘못 작성하였는지 궁금합니다..enum Avengers { Capt, IronMan, Thor } let capt: Avengers = Avengers[0):
- 미해결타입스크립트 입문 - 기초부터 실전까지
제네릭타입과 유니온타입을 같이 사용할 때 질문입니다.
interface DropdownItems<T> { value: T; selected: boolean; } const emails: DropdownItems<string>[] = [ { value: "naver.com", selected: true }, { value: "gmail.com", selected: false }, { value: "hanmail.net", selected: false }, ]; const numberOfProducts: DropdownItems<number>[] = [ { value: 1, selected: true }, { value: 2, selected: false }, { value: 3, selected: false }, ]; // 아래 createDropdownItem 함수 부분 질문입니다. function createDropdownItem(item: DropdownItems<string | number>) { const option = document.createElement("option"); option.value = item.value.toString(); option.innerText = item.value.toString(); option.selected = item.selected; return option; } 강의에서는 createDropdownItem함수의 매개변수 자리에 item: DropdownItem<string> | DropdownItem<number> 로 작성을 해주셨는데위 코드처럼 item: DropdownItems<string | number> 으로 작성을 해도 오류가 발생하지 않더라구요.각 방식이 서로 차이가 있을까요? 만일 차이가 있다면 어떠한 것인지 궁금합니다.
- 미해결타입스크립트 입문 - 기초부터 실전까지
설정 Format on Save 체크 변경 시 에러
안녕하세요.설정에서 변경 사항이 생겼을 때 오류 문구가 뜨는 증상이 빈번해서 문의드립니다..설정 > Editor: Format On Save 체크를 해제했는데 아래와 같은 문구가 뜹니다.설정을 열면 setting.json이 열리는데 어떤 부분을 수정해야 할지 몰라서 ㅠㅠ;; 여쭤봅니다. json 파일입니다.
- 미해결타입스크립트 입문 - 기초부터 실전까지
npm library 인터페이스에 타입 추가하기
구글맵 로딩을 위해 @googlemaps/js-api-loader로딩된 구글맵 타입을 위해@types/google.maps를 사용중인데요.제가 구글맵의 MVCObject와 InfoWindow라는 Interface에 저만의 프로퍼티나 메서드를 추가하고싶은데 이에따른 타입스크립트를 어떻게 작성해야할지 몰라서 질문드려요.google.maps.InfoWindow에 isOpened 같은 메서드를 추가하여, 생성된 모든 infoWindow 인스턴스들이 isOpened를 갖게 해주고 싶었어요.그래서 일단 @ts-ignore를 사용해서 google.maps.InfoWindow.prototype.isOpened 로 추가하고, 사용하니까 되긴 하더라고요. 근데 이에 대해 타입스크립트를 어떻게 작성해야할지 조사를 해봐도 잘 모르겠어요. 서드파티 라이브러리 타입 추가를 위해 d.ts 파일 만들어서 module augmentation이라는걸 하면 된다고 하는데, 예시도 많지 않고, 선임도 없고, 이것저것 해봤는데 실패만 해서, 질문 드려요. 부탁드립니다...
- 미해결타입스크립트 입문 - 기초부터 실전까지
함수 getElementsByClassName의 리턴변수 초기값
interface Global { menuLinks: HTMLCollectionOf<HTMLElement>; } const global: Global = { menuLinks: null, }; function a(){ global.menuLinks = document.getElementsByClassName('class-1 ') as HTMLCollectionOf<HTMLElement>; } 위와 같이 global 전역변수를 우선 초기화하고, 후에 document.getElementsByClassName을 사용하여 덮어쓰기 합니다. 또한 HTMLCollectionOf<HTMLElement>으로 타입단언을 했습니다.1. global.menuLinks 의 초기값을 null로 하면 오류가 발생하는데 null이 아니라 무엇으로 해야하나요? 2. 그리고 new HTMLCollectionOf<HTMLElement>() 이런식의 생성자 호출은 안되는것 같은데 이유를 모르겠습니다. 3. new Element() 형식으로는 초기화가 진행되는것 같습니다.
- 미해결타입스크립트 입문 - 기초부터 실전까지
해당 인터페이스는 키값이 computed property name인건가요?
interface PhoneNumberDictionary { [asdasd: string]: { num: number; }; } 원래는 [phone: string]인데 위처럼 phone에 해당하는 텍스트 값을 임의로 asdasd 이런식으로 해도 동작하더라구요 ES6의 computed property name인 것 같기도 하면서 또 아닌 것 같기도 한데 저게 뭔지 잘 모르겠습니다. computed property name인가요?
- 미해결타입스크립트 입문 - 기초부터 실전까지
정의된 타입으로 타입을 제한하기 질문 드립니다.
선생님, 안녕하세요. 강의 잘 듣고 있습니다.궁금한 것이 두 가지가 생겨서 질문하려고 합니다.dropdown 예제에서 DropdownItem의 value가 어떤 타입이든 들어올 수 있어서 toString()에 밑줄이 그어지는 것으로 알고 있는데요,이를 해결하기 위해a. DropdownItem<T>에서 T를 string과 number로 제한해야 되는 것인지, 아니면b. 강의 예제처럼 toString()에 타입을 제한하는 것인지 모르겠습니다.위의 두 사진에서 보면 34번째 줄에 selectTag에 에러가 뜨는데요, 이유가 궁금합니다.감사합니다.
- 해결됨타입스크립트 입문 - 기초부터 실전까지
ts 핸드북에 나오는 void 질문
안녕하세요!null값은 void로 선언 시 이렇게 되는데 제가 실수한 게 있나요???
- 미해결타입스크립트 입문 - 기초부터 실전까지
ts2345
제가 강의를 따라하면서 코드를 아래처럼 작성했습니다interface PhoneNumberDictionary { [home: string]: { num: number; }; } interface Contact { name: string; address: string; phones: PhoneNumberDictionary; } // api // TODO: 아래 함수의 반환 타입을 지정해보세요. function fetchContacts(): Promise<Contact[]> { // TODO: 아래 변수의 타입을 지정해보세요. const contacts = [ { name: "Tony", address: "Malibu", phones: { home: { num: 11122223333, }, office: { num: 44455556666, }, }, }, { name: "Banner", address: "New York", phones: { home: { num: 77788889999, }, }, }, { name: "마동석", address: "서울시 강남구", phones: { home: { num: 213423452, }, studio: { num: 314882045, }, }, }, ]; return new Promise((resolve) => { setTimeout(() => resolve(contacts), 2000); }); } setTimeout(() => resolve(contacts), 2000); 여기서 contacts에서 에러가 나는데 Argument of type '({ name: string; address: string; phones: { home: { num: number; }; office: { num: number; }; studio?: undefined; }; } | { name: string; address: string; phones: { home: { num: number; }; office?: undefined; studio?: undefined; }; } | { ...; })[]' is not assignable to parameter of type 'Contact[] | PromiseLike<Contact[]>'. Type '({ name: string; address: string; phones: { home: { num: number; }; office: { num: number; }; studio?: undefined; }; } | { name: string; address: string; phones: { home: { num: number; }; office?: undefined; studio?: undefined; }; } | { ...; })[]' is not assignable to type 'Contact[]'. Type '{ name: string; address: string; phones: { home: { num: number; }; office: { num: number; }; studio?: undefined; }; } | { name: string; address: string; phones: { home: { num: number; }; office?: undefined; studio?: undefined; }; } | { ...; }' is not assignable to type 'Contact'. Type '{ name: string; address: string; phones: { home: { num: number; }; office: { num: number; }; studio?: undefined; }; }' is not assignable to type 'Contact'. Types of property 'phones' are incompatible. Type '{ home: { num: number; }; office: { num: number; }; studio?: undefined; }' is not assignable to type 'PhoneNumberDictionary'. Property 'studio' is incompatible with index signature. Type 'undefined' is not assignable to type '{ num: number; }'.ts(2345)라고 뜹니다 제가 잘못 따라한게 있을가요?
- 미해결타입스크립트 입문 - 기초부터 실전까지
첫 번째 프로젝트 중 노란색 선
안녕하세요 선생님! 선생님의 강의에서는 함수들마다 노란선들이 있는데 저는 eslint를 설치했는데도 노란선이 없어서 왜그런지 여쭤봅니다! 함수에 커서를 가져다대었을 때 따로 :void를 주지않아도 이미 기본값으로 들어가있는것 때문일까요??그리고 오히려 todos에 파란선이 나옵니다ㅠㅠ
- 미해결타입스크립트 입문 - 기초부터 실전까지
ts language server 업데이트 방법이있나요??
"함수 타입- 파라미터를 제한하는 특성" 강의에서 , 강사님이 js 파일과 ts파일 왔다갔다하니까 해결하셨던데 단축키라던가 쓰신건지 궁금합니다.