수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
제 답변 올립니다.
다른 분들이 올린 for 문없이 사용하는게 좋아보이는데 문제에서는 for문으로 로또번호 set값을 추가하는거 같아서 이렇게 했습니다 ============= const SETTING = { name : "LUCKY LOTTO!", count : 6, maxNumber : 45 } const colorSet = new Set(); let {count, maxNumber} = SETTING; function getRandomNumber(maxNumber) { let randomNum = Math.floor(Math.random() * maxNumber); while(!colorSet.has(randomNum)) { colorSet.add(randomNum); } } for(let i = 0; i < count; i++) { getRandomNumber(maxNumber); } console.log(colorSet.values());
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
ws.has(arr) 문의 입니다.
arr = null을 했다고 하더라도, 가비지 컬렉터 입장에서 보면 ws에서 참조 중이기 때문에 가비지 컬렉견 대상으로는 되지 않을 것 같습니다. 가비지 컬렉션 대상으로 인식한다는 근거로 제시하신 것이 ws.has(arr) 인데, arr에 null값을 넣고 하였으니... ws.has(null)이니 당연 false나오는 거 아닌가요? 답변바랍니다
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
로또번호 생성기 풀이
const setting = { name : "LOTTO", count : 6, bonus : true, min : 1, max : 45 } function getRandomNumber( min, max ) { return Math.floor(Math.random() * (max - min + 1)) + min; } function makeLottoNumber( { count, bonus, min, max } ) { let numberSet = new Set(), bo_num; while( numberSet.size < count ) { numberSet.add( getRandomNumber(min, max) ); } if( bonus ) { while( true ) { bo_num = getRandomNumber(min, max); if( !numberSet.has( bo_num ) ) { break; } } return [...numberSet, bo_num]; } return [...numberSet]; } const result = makeLottoNumber( setting ); result.sort( (a,b) => {return a - b} ).forEach( function( v ) { console.log(v); }); 보너스 번호 따로 구분은 생략 했습니다.
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
왜 이건 유튜브로 나와요?
영상이 너무 작아져서.. 불편해요 저만 이렇게 나온가요,,
- 해결됨모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
2020.04 최신 버전으로 진행시 참고하시면 될거같습니다.
강의를 듣고 따라하는수강생입니다. 강의 그대로 따라 하신다면, 버전을 잘 따라 가야합니다. 최신 버전으로 진행을 한다면 아래와같은 추가적인 사항을 해결해야 합니다. (진행하면서 발생한 해결한 문제들입니다.) 1. webpack mode설정 - npm run start시 webpack mode에 관한 에러가 발생했다면, webpack.config.js에 mode에 관한 설정을 추가해야 합니다.(https://joshua1988.github.io/webpack-guide/advanced/mode-config.html#%EC%8B%A4%ED%96%89-%EB%AA%A8%EB%93%9C%EC%97%90-%EB%94%B0%EB%9D%BC-%EC%9B%B9%ED%8C%A9-%EC%84%A4%EC%A0%95-%EB%8B%AC%EB%A6%AC%ED%95%98%EA%B8%B0) 2. babel preset설정 - 해당 git babel preset에는 아래와 같이 README에 작성되어 있습니다.(yarn의 경우도 존재) - npm install --save-dev @babel/preset-env 3. babel-loader 에러 - npm run start시 Can't resolve 'babel-loader' 에러가 발생한다면 babel-loader을 설치 하면 해결됩니다.(https://webpack.js.org/loaders/babel-loader/) 4. 프로젝트에서 xmlhttprequest로 json파일을 요청하고 싶은 경우 개발 서버를 실행 시킨후 요청을 해야합니다. - 영상에서 아래쪽에 나오겠지만, AWS로 이전하여 강의에 나오는 URL은 사용 불가능합니다. - 그러므로 해당 git(https://github.com/nigayo/inflearn-es6/tree/step4)가서 파일 및 코드를 확인하시면 됩니다. 추가적으로 webpack.config.js modules의 내용은 아래 링크를 참고하시면 됩니다. https://webpack.js.org/configuration/module/
- 해결됨모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
도움될까 해서 올립니다.
const SETTING = { name: "LOTTO", count: 6, maxNum: 45 } function getRandomNum() { const arrRanNum = new Set(); const {count, maxNum} = SETTING; while(arrRanNum.size < count){ const num = Math.floor(Math.random() * maxNum) + 1; console.log(num); // 랜덤 확인 arrRanNum.add(num); } return Array.from(arrRanNum); } console.log(getRandomNum()); 더 좋은 방법이 있을까 궁금하네요
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
실습 2에 대한 참고 코드를 만들어봤습니다.
영상에서 제공된 형태로 실습 코드를 구성해보았습니다. const SETTING = { name : "LUCKY LOTTO", count : 6, maxNumber : 45 } function getRandomNumber(maxNumber) { let num = Math.floor(Math.random() * maxNumber) + 1; if(!color.has(num)) color.add(num); } let {maxNumber, count} = SETTING; let color = new Set(); for(let i=0; i<count; ++i) { getRandomNumber(maxNumber); } console.log(color.values());
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
안 넘어가요
강의 43강을 다 들어도 43강 완료라고 안뜨네요
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
영상 36초 오류 있습니다.
아래와 같이 ,(콤마)로 구분해주셔야 합니다. ;(세미콜론)으로는 구분하게 되면 오류 입니다. const name = "crong" const age = 33 const obj = { name: name, age: age }
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
age가 안돼요
크롬에서 개발자도구를 켜서 콘솔창에서 설명해주시는 것을 실행해보았습니다. const data = { name, getName() { return name; }, age } 이 코드를 실행하면 Uncaught ReferenceError: age is not defined at <anonymous>:6:1 이런 에러가 뜹니다. 왜그런가요??
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
destructuring 이해가 안되요!
let {name : myName , age : myAge} = obj; 과 같이 할때 myName 부분에 obj의 name 이 할당되는건가요? console.log(myName, myAge); 로 출력하는게 잘 이해가 안됩니다.
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
실습 예제2 제가 쓴 답안 입니다.
const SETTING = { name : "LUCKY LOTTO", count : 6, maxNumber : 45 }; function getRandomNumber({maxNumber, count}){ // 파라미터에서 Destructuring const lottoSet = new Set(); for(; lottoSet.size < count;){ lottoSet.add( Math.floor( (maxNumber-1) * Math.random() ) + 1 ); } return lottoSet; } console.log(getRandomNumber(SETTING));
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
let 과 var
es6 문법에서 var 보단 let 을 권장하셨는데 for문을 비롯한 block scope 에 저장되는 값이기 때문인가요? let 대신 var 를 쓸 때의 장단점을 알고 싶습니다.
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
ES5라면 어떻게 구현해야 할까요?
이렇게 구현하면 되는지 더 좋은 방법은 없는지 궁금합니다. for (var i = 0; i < list.length; i++) { ((num) => { list[num].addEventListener('click', ()=> { console.log(`${num}: ${list[num].innerHTML}`); }); })(i); }
- 해결됨모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
강의에 사용하는 에디터는 무엇인가요?
웹사이트(?)인듯 한데 주소가 어떻게 되나요?
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
Gabage Collection 관련 질문입니다.
안녕하세요. 좋은강의 정말 잘 듣고있습니다. 감사합니다. 이번 강의들 보며 이해가 안되는 부분이 있어서 질문드립니다. WaekMap에서 Area 생성자로 생성한 myarea 객체를 Null로 선언하면 gc 대상이되서 wm.has(myarea) 값이 false라고 하셨는데 WeakMap이 아닌 객체 {} 인 경우에는 동일하게 진행을 하여도 gc 대상이 되지 않는다고 말씀은 하셨는데 그부분이 이해가 안되서요. console에 wm이든 obj든 둘다 myarea를 null로 선언하기 전후 height와 width 값은 가지고 있고 단지 wm일 경우는 myarea를 가지고 있는지 체크하는 부분에서 false라는 결과가 나오지만 객체는 따로 확인할 방법이 있는건가요? 아니면 그냥 이론상으로만 알수밖에 없는건가요?
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
그냥 생각 대로 만들어봤습니다.
const SETTING = { name: 'LUCKY LOTTO', count: 6, maxNumber: 45 }; function getRandomNumber(setObj) { const rNum = Math.floor(Math.random() * SETTING.maxNumber + 1); setObj.add(rNum); //랜덤한 유일한 숫자값을 추출 while (SETTING.count > setObj.size) { this.getRandomNumber(setObj); } return setObj; } const lottoSet = new Set(); const rs = this.getRandomNumber(lottoSet); console.log(Array.from(rs).sort((a, b) => a - b).join(' , '));
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
로또 생성기 실습을 진행해봤습니다.
const SETTING = { name : "LUCKY LOTTO!", count : 6, maxNumber : 45 } function getRandomNumber(maxNumber) { const randomSet = new Set(); for (let i = 0; i < SETTING.count; i++) { let randomNumber; do { randomNumber = Math.floor(Math.random() * (SETTING.maxNumber - 1)) + 1; } while (randomSet.has(randomNumber)) randomSet.add(randomNumber); } return Array.from(randomSet).sort((a, b) => a - b); } console.log(SETTING.name); console.log(getRandomNumber(SETTING.maxNumber)); 피드백 사항이 있다면, 부탁드리겠습니다. 감사합니다!
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
[로또생성기] 제가 한 것도 올려봅니다.
실습에서 하라는 방식과는 좀 다를수도 있지만, 해봤다는 사실이 중요할테니까요. const setting = { name : "lotto", count : 6, maxNumber : 45 } function getRandomNumber() { const lottoset = new Set(); const {count, maxNumber} = setting; while(lottoset.size < count){ const randomNumber = parseInt(Math.random() * maxNumber, 10); lottoset.add(randomNumber); } return Array.from(lottoset); } console.log(getRandomNumber().sort((a,b) => a - b)); // 결과 확인용 콘솔
- 미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
a에 값을 안 주었을 때 왜 object가 + 되서 나오는 걸까요?
function sum(a = 0, b = { value: 0 }) { return a + b.value; } sum(b = { value: 10 });하면 결과가 10이 나올거라 예상했는데, "[object Object]10" 이 나오는데요. default parameter로 a = 0을 줬으면 a에 0이 세팅되어야 한다고 예상했는데 전혀 아닌데요...