[참고] 섹션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 문제가 발생합니다.
이미 많은 질문이 나왔고 답변으로도 말씀하셨듯 필요성을 인지하기엔 충분하므로 수강하시는 분들은 단순 참고 바랍니다.🙏
回答 2
0
기존 강의자료
// user data
var user={};
...
/**
* @typedef {object} User
* @property {string} name
* @property {string} email
* @property {Address} address
*/
/**
*
* @returns {Promise<User>}
*/
function fetchUser() {
return axios.get(url);
}
참고로 아래와 같이 추가 정의하더라도 상단에서 user을 정의하고 있었기 때문에 정상적인 추론이 되지 않습니다.
// user data
var user={};
...
/**
* @typedef {object} UserData
* @property {User} data
*/
/**
*
* @returns {Promise<UserData>}
*/
function fetchUser() {
return axios.get(url);
}
```
---
아래와 같이 선언시 타입을 제공하여 해소 가능합니다.만. 그냥 ts 씁시다. 화이팅~
// var user = {} 삭제
function startApp() {
fetchUser()
.then(function (response) {
var user = response.data;
TSLint
0
66
1
vscode eslint server 오류
0
75
1
안녕하세요. 기본타입- 튜플, 객체, 진위값 부분의 영상의 화면이 나오질 않습니다.
0
77
1
live server 설치 오류
1
371
2
강의 교안 pdf 는 따로 제공하지않나요?
0
284
2
npm i 설치 이유 문의
1
404
3
index.ts Delete `␍`eslintprettier/prettier 오류(빨간줄) 해결
2
289
3
vue 에서 jquery 사용 문제
1
692
2
TSLint 확장 프로그램은 현재 지원하지 않는다고 합니다.
1
499
2
강의 내용처럼 노란 밑줄이 작동하지 않아서 유사 질문들을 실행해보았는데요
1
542
1
section 3-1 JSdoc 타입이 추론되지 않아서 다음과 같이 수정했는데 이거 맞나요?
1
452
2
함수에 리턴 안됐다고 노란밑줄이 쳐져야하는데 없습니다
2
456
1
파일이 다른데 식별자가 중복되었다고 뜹니다.
1
443
2
빨간줄 에러 질문드립니다
1
489
2
마우스 갖다대면 리턴값 설명 나오는 거 질문드려요
1
356
2
js에서 @ts-check 적어도 체크하지 못하는 문제입니다
2
393
2
index.html에서 타입스크립트 콘솔 찍는 법 질문드립니다
1
566
2
섹션 1-3 추론 질문드립니다
1
354
2
왜 api쪽에는 왜 에러가 안나는지 궁금합니다.
1
323
2
const item1을 선언했을 때 타입을 선언해줘도 괜찮을까요?
1
391
1
전화번호부 타입선언
1
266
2
타입을 전역으로 분리
1
593
2
객체 선언 시 구분자는 쉼표, 세미콜론 모두 사용가능한건가요?
1
460
1
Git 관련 질문이 있습니다
1
670
2

