35,200원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결실전 자바스크립트
yield 입력값
5:02초 예제에서,첫번째 next 메서드는 제너레이터 함수의 첫번째 yield를 만날때까지 실행을 한다고 하셨는데.. 이미 처음 next 메서드를 실행했을 때 const data1 = yield; 문장이 실행된것 아닌가요? 왜 두번째 next 메서드의 인수가 변수 data1으로 대입되나요?
- 미해결실전 자바스크립트
화살표함수에서 아규먼츠를 사용할수없어서 매개변수를 사용하라고 하셨는데..
아규먼츠가 정확히 어떤 의미일까요..화살표함수랑 일반함수랑 각각 실무에서 어떻게 쓰이는게 좋은가요?
- 미해결실전 자바스크립트
실전자바스크립트 var문제점
var의 문제점 강의 내용 중 '2.js'의 소스를 제공해준 코드 링크의 index.js의 상단에 있는 가이드 대로 2.js의 내용을 복사후 붙였는데 강의 내용와 다르게 ReferenceError i is not defined 문제가 발생됩니다. 그리고, 강의에는 온라인 tool(create sandbox) 하단에 콘솔(code)로 선택되어 보여지는데 사용방법도 안내 부탁드립니다.
- 미해결실전 자바스크립트
강의 자료는 어디 있나요?
강의때 사용햇던 소스 코드 받아볼수 있을까요? 매번 일일이 타이핑하려니 시간이 너무 오래 걸려서요
- 미해결실전 자바스크립트
github에 정리좀하려고하는데, 해당 예제코드들 따로 공유가능할ㄲ요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 해결됨실전 자바스크립트
3:18 부분 질문드립니다. (lexical environment)
3:18 쯤에 아래와 같이 설명해주셨는데요."이전에는 마치 함수가 종료될 때마다 execution context 가 제거되고, 그 안에 있던 lexical environment 도 제거되는 것처럼 설명을 드렸는데요.지금과 같이 내부에서 함수가 만들어지는 경우에는 이렇게 lexical environment 가 유지가 됩니다." 위 내용이 헷갈려서 그러는데 아래 1), 2) 중 어떤 내용이 맞는걸까요? ㅠㅠ"함수 A의 내부에서 또 다른 함수 B가 생성되고 함수 A의 실행이 종료될 경우" 에1) A 함수의 execution context 는 제거되지만 A 함수의 lexical environment 는 유지가 된다.2) A 함수의 execution context 와 A 함수의 lexical environment 모두 유지된다.저는 "EC 안에 LE 가 생성된다"고 이해했기 때문에 2번이 맞다고 생각하고 있습니다. 답변 부탁드리겠습니다 ㅠㅠ
- 해결됨실전 자바스크립트
2:30초 경 그림 질문
그림에 getYounger의 위치에 대해서 질문있습니다. static 메서드 getYounger는 Programmer가 아니라 Person으로 가야하는 것 아닌가요? 프로토타입 체인에 의해서 연결되어있기 때문에, Person이 가지고 있고, 이것을 Programmer가 프로토타입 체인을 통해서 접근가능한 것 아닌가요? 혹시 일반 클래스 필드처럼 값의 레퍼런스가 아니라 static의 경우에도 값을 복사해서 가지고 가나요? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Public_class_fieldsmdn 문서에 따르면 `Public static fields are not reinitialized on subclasses, but can be accessed via the prototype chain.` 라고 나와 있어서 혼란스럽습니다 ㅜㅜ
- 해결됨실전 자바스크립트
constructor 질문있습니다!
강의 마지막에 있는 constructor를 보고 궁금증이 생겨서 코드를 한번 만들어서 돌려봤는데, 제가 생각한것과 전혀 다른 ? 방식으로 동작해서 질문드립니다. 아래 코드를 보면, 생성자에 name을 받고, 상위의 클래스를 통해서 생성자호출을 하였는데, 왜 클래스 필드의 초기값이 p1.name이 iu가 아니라 다른 값이 나올까요? 참고: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Public_class_fieldsPublic instance fields are added with Object.defineProperty() either at construction time in the base class (before the constructor body runs), or just after super() returns in a subclass. 라고 되어있는데 이게 후자에 해당하는 부분인가요? 저는 이해가 안가는 부분이, 클래스필드를 생성자를 통해서 초기화를 해주어야 맞지 않나? 라는 생각을 하고 있거든요.. class Person { name = 'memberPerson'; constructor(name){ this.name = name; } } class Programmer extends Person { name = 'memberProgrammer'; constructor(name) { super(name); } } const p1 = new Programmer('iu'); p1.name; >>> memberProgrammer
- 미해결실전 자바스크립트
nulish coalescing 과 optional chaining의 차이점은 무엇인가요?
해당 두기능의 코드적인 역할을 보면, 두개의 값 모두 undefined와 null의 유무를 or로 검사하고, 그에 따른 값을 반환해주는다는 입장에서 똑같은 기능인 듯 한데, 어떤 차이점으로 인해서 구분이 되어져 있는지 궁금합니다. 제가 개념적으로 놓친 부분이 있는 것 같습니다. 추가적으로 vscode환경상에서 javascript코드를 바로실행하시는데, 해당 환경을 어떻게 구성하셨는지 여쭙고 싶습니다. runcode라는 vscode모듈로는 예제에서 실행이 안되는 코드가 있어서요.(말씀드린 두 문법도 vscode상에서는 실행이 안되서 테스트해보기가 힘듭니다.)
- 미해결실전 자바스크립트
프로토타입 예제에서 궁금한게 있습니다.
제가 이해한 것은 const person1 = new Person('mike') 를 하면 현재 person1은 Person.prototype을 참조하는게 되고 나중에 Person.prototype = newPrototype; 을 실행하게되면서 person2가 결국 Person.prototype의 이름을 가져가게되는것 같은데...그러면 person1은 예전 함수가 Person.prototype 이름 말고 무엇을 가지게되나요??? 헷갈리네요 제가 잘못 이해한것일까요.. ㅠ 질문도 잘 이해되게 썻는지 모르겟네요
- 미해결실전 자바스크립트
마지막 예제 질문드립니다.
일반적으로 this는 함수 호출을 할 때, 일종의 규칙들을 따라 this 바인딩이 일어나잖아요. arrow function에서의 this는 함수 호출시, 호출부가 아니라, 호출시에 lexical scope에 따라 this가 바인딩 된다고 알고 있습니다. 마지막예제는 객체내부의 메서드를 호출할때, this는 전역을 가리키기 때문에 그렇겠죠. 하지만 리액트에서 아래와 같이 this 바인딩을 하기도 하잖아요? class Foo { bar = () =>{ } } 이 경우는 그냥 일반적인 생성자 함수(객체 생성) 규칙에 의해서 생성된 객체를 this로 가리키기 때문에 바인딩이 되는것인가요? 헷갈리네요 갑자기..
- 해결됨실전 자바스크립트
궁금해서 명세를 찾아봤는데요
lexical environment라는 것은 제거되는 것이 아니지 않나요? 인터프리터에 의해 해석되는 자바스크립트임에도 불구하고, 분명 compiler가 js를 먼저 해석하고 그때 compilation 단계에서 lexical environment가 생성되죠. 그리고, 정확히말하자면 execution context의 구성요소로 lexical environment 정보를 담은 record가 있는 것이구요. 함수가 종료되면 excution context는 제거 됩니다. 하지만 return으로 반환된 함수가 실행될때 생성되는 lexical environement는 그 이전 함수 실행 컨텍스트의 구성요소로 들어가는 lexical environment record를 참조하는 것이 아니라, lexing time에 이미 만들어진 lexical environment를 참조하고, 이 lexical environment는 outer lexical environment에 대한 reference를 가지고 있기 때문에 참조가 가능한 것 아닌가요?
- 미해결실전 자바스크립트
2:24경 설명
const a; --> //errorlet a; --> undefined a는 undefined 가 되는걸로 알고 있습니다
- 미해결실전 자바스크립트
7분42초
doSync함수가 프로미스를 반환 하지않는 동기 함수라고 한다면 doSync가 끝나고 실행컨텍스트가 닫히고 콜스택에서pop될때 콜스택 함수의 실행은 보장되고 해당 스탭에서 풀필드 값으로 undefined를 반환 하고 fetch의 아규먼트로는 undefined가 찍히는 것인지요
- 미해결실전 자바스크립트
리액트 내에서 const질문입니다.
리액트 컴포넌트에서 상수변수로 사용시 최하단에 상수변수를 작성하였는데 Study() 함수내부의 for문에서 BOX_LIST를 어떻게 읽을수 있나요? 모듈번들링을 통해서 그 파일을 읽을수있는건가요..? import React, { useState, useRef } from "react"; export default function Study() { const boxListRef = useRef({}); function onClick() { let maxRight = 0; let maxId = ""; for (const box of BOX_LIST) { const ref = boxListRef.current[box.id]; if (ref) { const rect = ref.getBoundingClientRect(); if (maxRight < rect.right) { maxRight = rect.right; maxId = box.id; } } } alert(`오른쪽 끝 요소는 ${maxId}`); } return ( <div> <div style={{ display: "flex", flexWrap: "wrap", width: "100vw", height: "100%", }} > {BOX_LIST.map(item => ( <div key={item.id} ref={ref => (boxListRef.current[item.id] = ref)} style={{ flex: "0 0 auto", width: item.width, height: 100, backgroundColor: "yellow", border: "solid 1px red", }} >{`box_${item.id}`}</div> ))} </div> <button onClick={onClick}>오른쪽 끝 요소는?</button> </div> ); } const BOX_LIST = [ { id: 1, width: 70 }, { id: 2, width: 100 }, { id: 3, width: 80 }, { id: 4, width: 100 }, { id: 5, width: 90 }, { id: 6, width: 60 }, { id: 1, width: 120 }, ];
- 미해결실전 자바스크립트
궁금한것이 있습니다.
const arr = [1,2,3]; const arr1 = arr.push(3,4,5) console.log(arr) console.log(arr1) 이렇게 했을때 arr1에서 arr의 length를 반환하는 이유는 어떤 로직인지 알수있을까요
- 미해결실전 자바스크립트
sample 파일 예제 소스는 어디있죠 ??
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
- 미해결실전 자바스크립트
각 함수가 실행되면
각 함수가 실행되면 각 함수의 실행 컨텍스트가 열리고 그 스코프 내부의 lexical enviroment가 생성이되고 environment record를 통해서 스코프 내부의 선언부를 기록하고 outer environment reference를 참조 하는 순서 인가요? 이때 외부 환역에 접근 하는 거를 체이닝 이라는 표현을 사용하는 걸까요?