묻고 답해요
152만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
코드 샌드박스 소스 입력시 콘솔이 계속 반응하는것 같아요.
안녕하세요 코드 샌드박스 소스 입력시소스를 입력할때마다 console.log()가 계속 반응하는 것같은데소스입력할때마다 반응하는 것을 멈출수 있을가요? 혹시.. 코드샌드박스 적응이 아직 안되었으면.. 비쥬얼 코드로 공부해도 큰 문제없을가요?
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
배열 생성자로 배열 생성시 empty와 undefined
배열 생성자로 배열 선언시, undefined로 출력 되는 것이 아니라 empty로 출력이 되는데, empty와 undefined는 다른 것으로 판단됩니다. 결국 비어있는 배열에 접근할 경우 자바스크립트 엔진에서 undefined로 인식하니까 결국 같은 것으로 생각해야 할까요
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
nvm 설치 오류입니다.
아래와 같이 에러가 납니다.
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
console 이 안보입니다.
console 및 미리보기 hello world가 안보입니다.
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
then 메서드에서 Promise 를 반환하는 코드에 대한 질문입니다.
const promise = new Promise((resolve, reject) => { setTimeout(() => { resolve(1); }, 1000); }); promise .then((value) => { console.log(`${value} 번째 Promise 의 then`); return new Promise((resolve, reject) => { setTimeout(() => { resolve(2); }, 1000); }); }) .then((value) => { console.log(`${value} 번째 Promise 의 then`); return new Promise((resolve, reject) => { setTimeout(() => { reject(new Error('강제 에러')); }, 1000); }); }) .catch((error) => { console.log(error); });이런 형태로 then 과 catch 를 메서드 체이닝할 수 있는 이유는 then 과 catch 메서드가 Promise 를 반환하기 때문이라고 이해를 했습니다. 그런데 then() 메서드에 전달하는 콜백 함수에서 return new Promise() 를 하여 Promise 를 반환하면 해당 Promise 가 반환된다고 이해를 했는데 어떻게 그것이 가능한 지 잘 이해가 안됩니다. then 은 동기적으로 실행되고 then 메서드에 전달된 콜백은 마이크로 태스크 큐에 등록된 후에 콜스택이 모두 비어졌을 때 호출된다고 이해를 했는데... 연결고리가 이어지지 않는 느낌입니다.
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
for 문에서 var 키워드 변수를 사용할 때와 let 키워드 변수를 사용할 때 차이점
안녕하세요 좋은 강의 감사드립니다.아래에서 for 반복문 내에서 var 키워드를 사용했을 때의 경우에는 var 키워드는 함수 스코프를 가지므로 setTimeout 의 콜백 함수가 실행되는 시점에 i 변수의 값은 이미 3인 상태이므로 3 3 3이 출력되는 것은 이해를 했습니다. 그런데 let 키워드로 선언한 변수는 블록 스코프를 가지는데 언뜻 이해하기로는 for 블록 내부에 i 변수가 선언되었다고 생각하면 var 키워드와 마찬가지로 setTimeout 의 콜백 함수가 호출되는 시점에 i 변수는 3이어야 하는게 아닐까라는 생각이 듭니다. 근데 0 1 2 가 출력되는 것을 보면 혹시 for 반복이 한번 실행될 때마다 i 변수가 생성되어서 서로 다른 블록 스코프를 가지는 것인지 아니면 제가 이해하지 못한 다른 내용이 있는 것인지 궁금합니다! 그리고 마지막으로 블록 스코프란 { } 이렇게 중괄호 내에 선언되는 경우를 말하는 것 같은데 for 문의 let i 변수의 경우에는 정확히 말하면 블록 내부에 선언되어 있지는 않은데 이 경우에도 블록 스코프라고 봐야 하는 건가요?? 감사합니다!function timer() { for (var i = 0; i < 3; i++) { setTimeout(function () { console.log(i); } , 1000); } }function timer() { for (let i = 0; i < 3; i++) { setTimeout(function () { console.log(i); } , 1000); } }
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
Global 스코프 질문
브라우저 환경에서 window객체가 Global 스코프 역할까지 한다고 이해했습니다.그런데 let,const로 정의한 함수들을 this, window를 명시하지 않고 실행하면 잘 실행되는 이유를 말씀하시면서 'let,const로 정의하면 Global스코프라고 볼 수 있는 Script스코프에 올라간다' 라고 하셨는데여기서 말하는 Global 스코프는 window객체를 말하는 Global스코프와 다른건가요?그럼 Global스코프(브라우저의 window보다 포괄적인 범위)는 내부에서 또 Script스코프와 Global스코프(브라우저환경에선 window객체)로 나눠지는거라고 이해하면 되는게 맞을까요...?
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
keys(), entrieS() 같은 함수의 반환값이 왜 iterator인지 잘 이해가 안갑니다..!
안녕하세요 강사님.수업노트에 올려주신 iterator와 iterable 강의까지 들었는데 잘 이해가 안되는 부분이 있어 질문합니다. iterator와 iterable강의에서 'iterator 는 Collection이나 Aggregate 객체를 순횐하는 방법을 제공하는 것' 이라고 보았습니다. 구현 예제까지 본 후에는 '방법을 제공한다 = 어떤 동작을 제공한다 = 함수를 제공한다' 라고 생각했습니다. (예제에서는 hasNext(), next() 함수를 제공함)그런데 [추가섹션] 배열의 순회 강의에서 배열의 keys() , values() , entires() , [Symbol.iterator]() 함수를 사용하는 걸 보면 각 함수들이 반환하는 iterator들은 함수를 제공하지 않는 걸로 보여서요.이 함수들의 반환값이 for문으로 순회 가능한(iterable한) 객체들이고, 그럼 iterable한 객체를 만들어주는 keys()같은 함수들이 곧 'iterator'인게 아닌가 싶은데 왜 함수들의 반환값이 iterator가 되는 것인지 궁금합니다!
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
var 변수의 문제점 설명하실 때 질문 있습니다.
function testShadowing() { let x = 5; if (true) { let x = 10; console.log(x); } console.log(x); } testShadowing()위와 같이 let으로 x 변수를 2번 할당했는데, 실제 메모리에는 어떻게 할당이 되나요?블록 스코프라고 하더라도 함수 스코프 안에서 블록 스코프가 만들어 질 것으로 생각이 되는데(뇌피셜입니다.), 이미 함수 스코프에서 x라는 변수명을 사용하고 있어서 블록 스코프에서 x는 자바 스크립트 엔진에서 어떻게 받아들이고 실제 메모리에 어떤 식으로 메모리 할당을 하는지 궁금합니다.
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
메모리에 변수 생성과 값을 할당할 때
지금 변수와 값을 생성하는 부분을 보고있습니다. 그런데 메모리에 변수와 값들의 주소를 가지는 포인터 변수를 가진다고 하신 부분에서 궁금증이 생겼는데 그러면 메모리의 값들은 이미 메모리 셀에 기존부터 가지고 있는 건가요? 아니면 그때마다 임의로 값을 메모리에 생성하는 건가요?
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
클로저 스코프와 블록 스코프 질문드립니다.
const test1 = () => { let count = 0; const inner = () => { console.log(count); // closure }; inner(); }; test1(); const test2 = (initialValue = 0) => { let count = initialValue; const inner = () => { console.log(count); // block }; inner(); }; test2();test1의 inner에서는 count가 클로저 스코프를 갖는데, test2의 inner에서는 블록 스코프를 갖는 이유가 뭔가요?
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
코드샌드박스 화면구성이 달라졌네요.
오늘부터 공부시작하려고 환경설정을 열었다가 바로 막혔습니다.바닐라 자바스크립트 템플릿이 안보여요 ㅠㅠ 해결부탁드립니다.
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
커리큘럼 관련 질문
강의 커리큘럼에서추가 섹션 부분은 어떻게 이해하면 될까요?갑자기 다른 개념에 대해 강의를 듣는 기분이라 어렵게 느껴지기도 해서요
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
화살표 함수 질문드립니다.
선생님께서 말씀하셨던 화살표 함수는 function 을 () 로 대체 해서 쓰신다고 말씀하셨습니다.궁금한게 해당 Todoinput.vue 에서 function () {} 해당 부분을 () => {} 으로 대체하면 웹 상에서 정상적으로 실행되지 않는데 제가 화살표 함수에 대해서 잘못 이해하고 있는지 여쭤봅니다.
주간 인기글
순위 정보를
불러오고 있어요