지금까지 수업했듯 npm run serve 로 서버를 실행시켜서 state 적용된 것을 체크해보려고 했으나, 위와 같은 에러 메세지가 발생했고, 여기서 제시한 npm install --save core-js/modules/es.array.splice 명령어를 실행하였으나, 이런 메세지가 또 발생합니다. 이 메세지 내용을 보고, 구글링을 해본 결과 package-lock.json을 삭제하고 다시 실행시키거나 npm cache verify 명령어를 실행하거나 등등 여러가지 답변이 있었으나 전부 실행되지 않습니ㄷㅏ. 최종 에러 메세지 상에는 Could not install from "core-js/modules/es.array.splice" as it does not contain a package.json file. 이렇게 적혀 있어서, 이부분을 보완하면 될 듯한데... 전혀 진행되지 않아서요...
객체에서의 this는 자기자신을 가르킵니다. 근데 es6 화살표함수를 사용하면 window를 가르키던데 제가 알기론 일반 함수가 실행되면 함수 컨텍스트가 만들어지고 그 안에 this, 변수객체, scopeChain가 정의되어져 있는걸로 알고 있습니다. 근데 es6 화살표 함수가 실행되면 함수 컨텍스트안에 this라는 것이 없고 변수객체에 this를 변수로서 상위 scope의 this를 가져오는게 맞을까요? 그래서 es6 화살표함수에는 bind()가 먹히지 않는지 궁금합니다..
payload 인자를 객체화 시켜서 한번에 넘겨주지 않고 이렇게 넘겨주어도 작동은 하는데 방법은 상관이 없을까요? removeOneItem ( state , todoItem , index ) { localStorage . removeItem ( todoItem . item ) ; state . todoItems . splice ( index , 1 ) ; },
vue.runtime.esm.js?2b0e:619 [Vue warn]: Unknown custom element: <Mdoal> - did you register the component correctly? For recursive components, make sure to provide the "name" option. found in ---> <TodoInput> <App> at src/App.vue <Root> slot으로 만들어준 cusotm header만 출력이 됩니다. 버튼이나 배경 모달창은 뜨지 않습니다. 어떻게 해결해야되나요?
템플릿 문법 이라는 단어에서 템플릿이란 template:'<div></div>' 이렇게 사용되는 속성으로 알고 있습니다. 근데 이 속성을 사용하지 않고 <div id="app"></div> 안에서 사용되는 태그에 템플릿 문법을 사용하고 있는데 뷰의 템플릿 문법은 템플릿 속성에 한정해서 사용하는 것이 아니라 그냥 뷰로 화면을 조작하는 방법이라고 받아들이면 될까요?
데이터바인딩이라는 문법에서는 Object.defineProperty 라는 api를 사용하는데 이 api가 props에 도 적용되어있다고 강의에서 말씀하셨습니다. 이 부분이 이해는 가는데 Vue라는 생성자 함수에서 Object.defineProperty가 Vue라는 생성자함수에서 어떤식으로 사용되고 있는지와 Vue 생성자함수가 어떻게 구현되어있는지에 대해서 알 필요가 있을까요? 너무 깊게 들어가는것이 아닌 그냥 쓰는 방법에 익숙해지는게 맞는지 궁금합니다.
초보적인 질문입니다 ㅠㅠ 1.지연 평가/즉시 평가 예제에서 L.map과 L.filter그리고 reduce를 조합해서 써주셨는데요 이전 강의부터 궁금했던 건데 지연 평가를 한다고 해도, reduce의 경우 takeAll처럼 결국 이터러블/이터레이터를 모두 평가를 해야되기 때문에 지연 평가나 즉시 평가나 시간복잡도/퍼포먼스적인 부분에서 차이가 없는 것이 아닌가 생각되는데 이것이 맞나요? 제 생각에 지연 평가는 take(작은 수)로 이터러블의 모든 요소를 순회/평가하지 않아도 되는 경우에만 의미가 있는 것 같은데, 뭔가 놓친 부분이 있는 것은 아닌지 궁금합니다 2.reduce only / reduce + map + filter 강의에서 말씀해주신 부분에서만 추측해보자면, 함수 합성으로 하시는 이유가 추상화/재사용성/가독성 등의 이유가 주된 이유인 것 같습니다. 그런데, map, filter, reduce의 조합이면 일단 순회를 3차례 돌아야 하는 것이고, reduce만 쓰면 순회는 1차례에서 끝날 텐데, 혹시 퍼포먼스적인 부분에서는 차이가 없나요? 1번 질문이랑 연결해서 (이터러블의 모든 요소를 순회해야 한다면) 지연 평가를 한다고 해도 평가를 그때 그때 필요한 시점에 하는 것일 뿐, 평가를 덜해도 되는 것이 아니기 때문에 제 생각에는 최종 평가까지 걸리는 시간이 더 들 것 같은데... (console.time을 찍어봤지만 간단한 예제라서 그런지 실행 시간에는 별 차이를 느끼지 못했습니다...)
arr = null을 했다고 하더라도, 가비지 컬렉터 입장에서 보면 ws에서 참조 중이기 때문에 가비지 컬렉견 대상으로는 되지 않을 것 같습니다. 가비지 컬렉션 대상으로 인식한다는 근거로 제시하신 것이 ws.has(arr) 인데, arr에 null값을 넣고 하였으니... ws.has(null)이니 당연 false나오는 거 아닌가요? 답변바랍니다
안녕하세요. 강의를 보다 궁금한점이 있어서 질문드립니다. getters를 이리저리 사용해 보다가 getters에 parameter를 넣어야 할 경우가 생겨서 검색해보니, Vuex 공식 문서에서 다음과 같이 사용하라고 안내가 되어 있습니다. getters: { getNumber: state => num => { return num * 2; } } 여기서 첫 번째로 궁금한 점은 저 문법이 단순히 Vuex의 함수 정의 문법인지, ES6 문법인지 궁금합니다. 추가로 궁금한 부분은 저 표기 외에 다른 방식으로 parameter를 받을 수 있는 방법이 있는지도 궁금합니다. Vue 와 ES6 모두 초보라 아직 함수 리터럴에 대해 익숙지 않아 질문 드려봅니다 ^^;
6버전 이상부턴 default export가 없어서 import {Helmet} from 'react-helmet'; 이렇게 받아와야 하는거 같아요 버전 업데이트를 하면서 default export를 안쓰고 {}로 감싸고 import 해와야 하는데, 질문) 패키지에 어떤 기능추가를 위해서 저렇게 default export를 안쓰고 바꾸는 건가요?? 보통 어떤경우에 패키지 개발자가 저렇게 바꾸는지 궁금합니다.