inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tìm hiểu cách phát triển JavaScript và VueJS thuần túy thông qua phát triển giao diện người dùng thực hành

Cấu trúc thư mục

Tag 와 Promise, 그리고 add() 펑션에 관한 질문입니다.

420

ryu sin

28 câu hỏi đã được viết

0

안녕하세요. 너무 좋은 강의 잘 듣고 있습니다.

공부하다가 막히는 부분이 있어서 질문 올립니다.

  1. MainController.js 파일의 시작 부분을 보면 다음과 같은 부분이 있습니다

    "const tag = '[MainController]' "

위와 같이 스트링으로 MainController 값을 집어 넣는 것을 처음 보는데, 이 부분은 어떤 명령어가 어떻게 처리하는 건가요?

마찬가지로, View.js 파일의 시작 부분에서도 "const tag = '[View]' " 부분이 있는데요, 이유와 쓰임세가 궁금합니다.

  1. KeywordModel.js 파일 안을 보면 Promise가 변수에 담기지 않고 바로 "new Promise" 식으로 구현이 되었습니다. 그럼 이 Promise의 instance는 무엇이 되는 건가요?

    이하는 코드 부분입니다.

    list() {

    return new Promise(res => { // 변수에다가 담지 않고 바로 new Promise를 했는데,

    // 이경우 그럼 Promise의 instance는무엇인가요?

    setTimeout(() => {

    res(this.data)

    }, 200)

    })

    }

    }

  2. HistoryModel.js 파일에서 add() 펑션 관련 질문입니다.

    아래 코드를 보면 궁금한 점이 두가지 있습니다.

    a) const date = '12.31'

    이 부분은 이렇게 해 버리면 나중에 수정이 안되지 않나요?

    근데 바로 아래줄에 this.data =[{keyword, date}, ...this.data] 이런식으로 나오면

    저 자료를 계속 활용한다는 이야기인데.

    굳이 const 와 스트링 조합으로 한 이유가 있나요?

b) some(item=> item.keyword == keyword)) 에서 item이 뜻하는게 뭔지 궁금합니다.

add(keyword = '') {

keyword = keyword.trim()

if (!keyword) return

if (this.data.some(item => item.keyword === keyword)) {

this.remove(keyword)

}

const date = '12.31'

this.data = [{keyword, date}, ...this.data]

}

javascript vuejs

Câu trả lời 7

2

jeonghwan

질문이 여러개라 하나씩 답변 드리겠습니다.

질문1:

const tag = '[MainController]'

이유와 쓰임세가 궁금

답변1:

개발할때 디버깅 용으로 사용하는 태그입니다.

예를들어 console.log(tag, 'hello world')로 로그를 남기면

"[MainController] hellow world" 문자열이 개발자 콘솔에 남는거죠.

1

jeonghwan

질문2:

Promise의 instance는 무엇이 되는 건가요?

답변2:

프로미스 객체가 반환되는 것이죠

'그게 그말 아닌가요?' 라고 하실것 같네요.

list().then(fn).catch(fn) 형태로 사용할수 있습니다.

0

ryu sin

명쾌한 답변 감사합니다 .

오늘도 좋은 하루 되세요 : )

0

ryu sin

명쾌한 답변 감사합니다 .

오늘도 좋은 하루 되세요 : )

0

ryu sin

명쾌한 답변 감사합니다 .

오늘도 좋은 하루 되세요 : )

0

jeonghwan

질문4:

some(item=> item.keyword == keyword)) 에서 item이 뜻하는게 뭔지 궁금합니다.

답변4:

this.data.some(...) 으로 실행하는 배열 함수입니다.

data 배열 데이터를 보면 답이 나오는데요

data: [

{ keyword: '검색기록2', date: '12.03' },

{ keyword: '검색기록1', date: '12.02'},

{ keyword: '검색기록0', date: '12.01' },

],

배열 요소인 {keyword: ' ', date: ' '} 가 item 변수로 들어옵니다.

0

jeonghwan

질문3:

const date = '12.31'

이 부분은 이렇게 해 버리면 나중에 수정이 안되지 않나요?

근데 바로 아래줄에 this.data =[{keyword, date}, …this.data] 이런식으로 나오면

답변3:

상수 date는 아래 구문에서 객체의 값으로 사용됩니다.

따라서 this.data로 접근하면 변경가능하구요.

강사님, 브랜치명 어떻게 만드셨어요?

2

212

1

이미지 파일 업데이트가 안돼있는 거 같습니다

1

507

1

git사용법을 잘 모르겠습니다..

1

498

1

@event 질문입니다.

1

256

1

return 문자열이 여러줄은 어떻게 설정하나요?

1

650

2

탭뷰에서 이벤트를 받아서 메인컨트롤러에게 전달만해주는 방식도 괜찮나요?

1

259

1

ResultComponent.vue 에러?

1

254

1

선생님 안녕하세요!

0

248

1

return new Promise 와 return Promise.resolve

2

475

1

바닐라

1

322

1

실습 관련 질무

1

249

1

event.preventDefault() 문의

1

292

1

컴퍼넌트 질문이 있습니다.

0

214

1

return this에 대해서 (재업로드)

0

356

1

return this에 대해서 이해가 잘 되지 않아요

0

1180

1

강의 내용을 따라 했는데도 안되는 문제

1

310

2

크롬으로 로컬 띄었더니 에러가나네요

1

324

0

에러가 나네요

1

331

2

git checkout 중에 질문드립니다.

1

304

1

bindEvent 메소드를 왜추가하는지 궁금해서 질문드립니다.

2

578

1

안녕하세요 vue.js 처음 입문하는데 강사님 강의로 시작하게 되었습니다.

0

220

1

index 페이지에서 main.js 관련 질문입니다

1

205

1

학습내용 정리 관련 질문입니다!

0

181

1

lite-server로 구현해야하는 이유는 무엇인가요~?

1

527

2