무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
궁금증이 있어서 글남깁니다.
책을 보면서 공부를 하고 있고 막히거나 애매하면 영상을 보고있습니다이번에 끝말잇기 + 3글자 막기 까지 하고 하루 쉬면서 여러가지 추가 해보고 있습니다.지금까지 나온 제시어를 한줄로 나타낸다거나 하는 짓을 하고 있는데처음에 number(prompt) 에서 문자가 들어갔을시 아예 숫자를 인식 못하고 그냥 계속 진행하더라고요 ㅎ 을 넣었더니 6,7,8,9 까지 계속 번째참가자 수가 올라가는데isNaN을 써서 false 가 나오게 되면 다시 prompt 를 띄워 입력값을 다시 받는 기능을 넣고 싶은데 정상적인 숫자일때까지요while 문 써서 계속돌리는거 말고는 생각나는게 없는데 혹시 더 간편한 방법이 있을까요?
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
for 문 질문드립니다!
for(i = 0; i <= 5; i++) { setTimeout(()=>{ showBall(winBalls[i], $result); }, (i + 1) * 1000); };이 코드가 제대로 동작안해서 해보니let i = 0 ; 면 되는것을 확인했습니다. 여기 질문답변에서도 동일하게 답변해주신것 확인했는데, 왜 let 을 안붙이면 동작안하고 빈 숫자만 나오는지 알수있을까요?그냥 for문은 let 을 붙인다고 알고 있으면 되는부분일까요?
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
리셋버튼구현했는데 2번까지는 버튼이 잘 작동하는데 3번부터 undefined가 나오네요..?
//reset 버튼 클릭 시 function onReset() { answer.length = 0; //답 초기화 for (let n = 0; n < 4; n += 1) { //4번 반복 const index = Math.floor(Math.random() * numbers.length); // 0~8 정수로 시작해서 1씩 줄어들게 answer.push(numbers[index]); numbers.splice(index, 1); } console.log(answer); $logs.textContent = ""; document.body.removeChild(resetBtn); out = 0; return; }const resetBtn = document.createElement("button"); if (answer.join("") === value) { //join() : [3,4,2,4] => '3424' $logs.textContent = "홈런"; $logs.style.color = "blue"; //reset btn 만들기 resetBtn.innerHTML = "reset"; document.body.appendChild(resetBtn); resetBtn.addEventListener("click", onReset); return; }첫번째 코드블럭은 리셋버튼 클릭시 구현되는 함수입니다.두번째 코드블럭은 홈런시, 리셋버튼이 화면에 보이게 하는 코드입니다.리셋버튼이 2번은 잘 기능하지만 3번째 리셋버튼을 누르면 answer에 undefined로 배열이 나옵니다..따로 에러메시지는 없습니다!! 다른 코드는 제로초님과 동일하게 진행했습니다. 혹시, 더 필요한 부분이 있으시거나 잘못된 부분이 있다면 말씀부탁드립니다 :) 감사합니다.
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
야구게임 질문
마지막 Array(9).fill(0).map 을 return 하셨을때,야구게임에 적용하려면 number 에 담으면 되는게 맞나요?const numbers = []; Array(9).fill(0).map((element, idx) => { return numbers.push(idx + 1); })이런식으로 number 배열에 넘겨주면 되는게 맞나요?작동은 되는것 같은데, 이런식으로 하면 되는건지 알수 있을까 해 질문드립니다!
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
함수 정의 문의
강의 감사합니다!함수 정의 하실때, 변수로 정의를 하시던데, function 함수이름() { } 으로도 정의 할 수 있는것으로 배웠는데, 강의 에서 대부분 변수로 정의 하시는 이유가 있으실까요?실무에서나 프로그래머들은 어떤것을 더 선호하고 어떤것을 쓰는게 맞는지(어떤 것을 쓰는 버릇을 남겨두는게 좋을지), 상황마다 정의 내리는 방식이 달라야 하는건지 알고 싶어 질문남깁니다!
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
별숙제 문의드립니다!
강의감사합니다, 제로초님강의 시청중에 별숙제가 답이 없는것으로 아는데, 저가 혼자 해결하지 못하는데, 넘어가도 괜찮을까요?검색해도 알기어려워서 그러는데, 한번 끝까지 할 수 있도록 별숙제는 꼭 한번 마무리 짓고 넘어가는게 좋을까요?아니면 안되도 넘어가고 이후 강의를 듣고 하다보면 자연스레 익히게 되는부분인가요?
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
제시어 실행이 안돼요
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>끝말잇기</title> <style></style> </head> <body> <div><span id="order">1</span>번째 참가자</div> <div>제시어:<span id="word"></span></div> <input type="text"> <button>입력</button> <script> const number = parseInt(prompt("몇명이 참가하나요?")); const $button = document.querySelector("click"); const $input =document.querySelector("input"); const $word =document.querySelector('#word'); let word; //제시어 let newWord; //새로 입력한 단어 const onInput = (event) => { newWord =event.target.value; } const onClickButton = () => { if(!word) { word=newWord; $word.textContent =word; //date 바꾸고 화면도 바꾸고 $input.value = ''; } else { //비어있지않다 } }; $button.addEventListener('click', onClickButton); $input.addEventListener('input', onInput); </script> </body>단어를 작성해서 입력 버튼을 눌렀을 때 제시어에 단어가 나오질 않아요 ..이런 오류가 떠서 찾아보니까 addEventListener 함수가 실행이 안되어서 오류가 난다고 해서 해결책으로body태그 안에 script 를 넣어주면 된다고 하는데 계속 오류가 나네요 ,,
- 해결됨[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
화살표 함수에서의 this 질문입니다.
화살표 함수와 this 강의에서 지금 상황은 하나의 클래스에 두 함수가 선언되어 있고 생성자 함수는 start를 호출하는 상황입니다. 우선 화살표 함수에서의 this에서 화살표 함수를 호출할 당시의 호출 스택이 갖는 this를 화살표 함수가 그대로 갖는다고 이해한 부분이 맞는지 궁금합니다. start를 호출할 때 화살표 함수인 onGameMenuInput를 changeScreen() 에서 호출할 때의 this와 start()에서 호출할 때 바깥쪽에서의 this가 다르다는 말을 하셨는데 이 부분이 이해가 안갑니다.제가 이해한대로라면 changeScreen() ,start()모두 this를 자신의 객체로 갖고 있기 때문에 두 함수에서 호출한 화살표 함수의 this는 둘 다 같은 객체이다. 라고 생각하는데 틀린건가요?
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
끝말잇기 $word.textContent 제대로 썼는데 제시어로 단어가 안 넘어가요ㅠ
안녕하세요, 강사님!강의 열심히 잘 듣고 있습니다!ㅎㅎ 끝말잇기 게임으로 처음 뭔가 따라서 만들어보고 있는데,강의에서 말씀하시는대로아래처럼 썼는데, input에 쓴 단어가 제시어 옆에 나타나지도 않고, 버튼이 영 안 먹히는 것 같습니다.콘솔창 켜봐도 아무 에러 메시지 뜨는 것도 없고,혹시나 다른 질문 글에서처럼 오타 생긴 건 아닌지 보고 또 봐도 이상 없는데..어떤 부분이 문제인지 모르겠습니다ㅠㅠ어디서 문제가 생긴 건지 봐주실 수 있나요?감사합니다!ㅠㅠㅠ//<script>에서 제시어와 새로 입력한 단어 관련 코드만 발췌. const $word = document.querySelector('#word'); let word; //제시어 let newWord; //새로 입력한 단어 const onClickButton = () => { if (!word) { // 제시어가 비어있는가? //비어있다면 word = newWord; //입력한 단어가 제시어가 된다. $word.textContent = word; //제시어 옆에 단어가 나타나도록 화면 바꿈. } else { // 제시어가 비어있지 않다. } }
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
변수 선언 위치 질문
영상 내 5분 56초에const order = Number($order.textContent);를 왜 전역 스코프가 아닌 onClickButton 함수 스코프에서 선언해야만 하는지 모르겠습니다.
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
중복부분 질문
강의에서 보면 n번째 참가자임을 알려주는const order = Number($order.textContent) 이하 아래부분이const onClickButton = function() { if (!word) { word = newWord; $word.textContent = word; const order = Number($order.textContent); if (order+1 > playNumber) { $order.textContent = 1; } else { $order.textContent = order+1; } } else { if (newWord[0] === word[word.length-1]) { word = newWord; $word.textContent = word; const order = Number($order.textContent); if (order+1 > playNumber) { $order.textContent = 1; } else { $order.textContent = order+1; } } else { alert('틀렸습니다!') } }이렇게 중복되어서 const onClickButton = function() { if (!word) { word = newWord; $word.textContent = word; } else { if (newWord[0] === word[word.length-1]) { word = newWord; $word.textContent = word; } else { alert('틀렸습니다!') } const order = Number($order.textContent); if (order+1 > playNumber) { $order.textContent = 1; } else { $order.textContent = order+1; } }제가 위에 코드처럼 밖으로 빼봤습니다.그런데 다른 때는 괜찮은데 1번째에서 2번째 참가자로 넘어갈때 그대로 1번째 참가자로 남아있습니다.혹시 저처럼 저렇게 밖으로 빼면 안되는 이유라도 있는건가요? [제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
돔 생성/추가 관련 질문
안녕하세요 제로초님돔 생성/추가 관련 질문이 있는데요아래 코드처럼 appendChild를 3번 썼는데 p태그가 왜 하나만 추가되는걸까요?중간중간 createElement로 다시 선언해주어야 원하는대로 추가되더라구요createElement로 다시 생성해도 어차피 동일한 p태그가 할당될텐데이 부분이 이해가 가지 않습니다. var pElem = document.createElement('p'); targetElemet.appendChild(pElem); targetElemet.appendChild(pElem); targetElemet.appendChild(pElem); // pElem가 1개만 추가됨 var pElem = document.createElement('p'); targetElemet.appendChild(pElem); var pElem = document.createElement('p'); targetElemet.appendChild(pElem); var pElem = document.createElement('p'); targetElemet.appendChild(pElem); // pElem가 3개 추가됨
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
숫자야구 고차함수 따라서 하다가..
숫자야구 고차함수 따라서 하다가 다른것도 테스트 해볼겸 아래와 같이 해봤는데 이런 에러가 나는 이유가 무엇인가요?? <!DOCTYPE html><html lang="en"> <head> <script> const $btnHide = document.querySelector('#btnHide') const $btnShow = document.querySelector('#btnShow') const $h3 = document.querySelector('h3') $btnHide.addEventListener('click', showAndHide('hide')) $btnShow.addEventListener('click', showAndHide('show')) const showAndHide = op => () => { if (op === 'hide') { $h3.style.display = 'none' } else { $h3.style.display = 'block' } } </script> </head> <body> <button id="btnHide">글자숨기기</button> <button id="btnShow">글자보이기</button> <h3>글자</h3> </body></html>
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
코드가 실행이 안 됩니다
첫 번째 사람인치 판단하기에서 코드를 따라 입력해보기도 하고 복붙도 해봤는데 오류가 뜹니다. 그래서 자바를 입력해도 브라우저나 화면에서 아무것도 안 뜹니다. 코드 오류를 해결할려면 어떻개 해야 될까요?
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
HTML 태스 선택하기 자손 자식 태그 질문드립니다.
안녕하세요 제로초님 강의를 보다가 궁금한게 있어서 질문드립니다. 왜 태그와 태그 사이에 >를 넣었음에도 자손 태그가 똑같이 하이라이트 될까요? 코드와 브라우저에서 나오는 것을 스크린샷으로 올립니다.
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
가위바위보 css관련
$computer.style.background = `url(${IMG_URL}) -464px 0`;$computer.style.backgroundSize = "auto 200px";이 부분 에서 보통 css에서 margin top은 순서가 (상하,좌우) 이렇게 되는데 저 경우 에서는 반대로 되는 경우가 특별한 경우인가요?
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
함수 선언 질문입니다
function colorChange(standard, color) { if (standard > 10) { span.style.color = color; } } const showBall = (number, $target) => { const span = document.createElement("span"); span.className = "ball"; span.innerHTML = lotto[number]; // colorChange(lotto[number], "red"); - 오류난 코드 function colorChange(standard, color) { if (standard > 10) { span.style.color = color; } } $target.append(span); }; for (let i = 0; i < lotto.length - 1; i++) { setTimeout(() => showBall(i, $result), (i + 1) * 1000); }강의 듣고 제가 설정해놓은 값에서 한번 바꿔봤는데요 (저는 파라미터를 태그로 안하고 color를 지정을 해봤는데요) span이 지정이 안되었다고 오류가 나는데 저 코드랑 아예 안에서 함수 지정하고 실행한거랑 차이점이 뭔지 궁금합니다..
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
let out 질문 2
안녕하세요! 제가 초보자라 잘 이해가 되지 않아서 질문드립니다. let out 을 이벤트 리스너 안에서 선언하면 작동이 안되는건 확인했는데,out 이라는 변수를 이벤트 리스너 밖에서 사용하는 것도 아닌것 같은데 왜 밖에서 선언해야만 작동할까요?out 을 이벤트 리스너 밖에서도 사용하는 걸까요? strike 와 ball 도 이벤트 리스너 안에서만 사용되(는 것 같)고, 변수도 안에 존재하는데 .. 이 둘과는 다른 걸까요?( 이 부분은 그렇게 중요하지 않은건데 괜히 질문하는건 아닌지 모르겠어요... 네이X에 검색해도 이 부분에 대해서 나와있는 게 없는 것 같아서 질문드립니다ㅠㅠㅠㅠ )
- 미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
조건문 안 플래그 값
혹시 조건문 안에 truthy한 값이나 falsy한 값 있을 때 조건에 그 값만 넣어주는 게 좋을까요 아니면 명확하게 표현까지 해주시나요예를 들면arr이라는 배열이 있을 때If(arr.length === 0)If(!arr.length)같은 경우 어떻게 표현하는 게 더 좋고 이유도 알 수 있을까요?
- 해결됨[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
중첩 if문 사용하기 질문 있습니다
자바스크립트 책 98페이지 조언 부분에 first는false 이고 second는 true인 경우를 else if에 안넣으신 이유가 있을까요 ? 경우의 수가 총 4가지인데 3가지의 경우만 적혀 있어 이유가 궁금합니다 ! 밑 코드는 제가 생각하는 모든 경우의 수가 들어간 겁니다 ! let first = true;let second = false;if (first && second) { // first, second 둘다 true console.log('첫 조건 충족'); console.log('둘 조건 충족');} else if (first) { // first만 true console.log('첫 조건 충족'); console.log('둘 조건 불충족');} else if (second) {//second만 true console.log('첫 조건 불충족'); console.log('둘 조건 충족');} else { //둘다 false console.log('첫 조건 불충족'); console.log('둘 조건 불충족');}>첫 조건 충족> 둘 조건 불충족