22,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결코어 자바스크립트
질문드립니다.
항상 잘보고 있습니다. 화살표 함수에서 this를 바인딩 하지 않는 다고 하셨는데 그럼 화살표함수는 실행컨텍스트가 활성화 될 때 this바인딩에 대한 내용이 빠지는 건가요...? 아 그리고 오탈자 발견했습니다. 18:04 한수라고 표기되어 있습니다.
- 미해결코어 자바스크립트
객체형 데이터의 경우, property들이 "연속된" 메모리공간에 할당되는 것이라고 이해해도 될까요?
안녕하세요,좋은강의 주셔서 감사합니다. 4:22초쯤에 참조형 데이터의 경우 메모리 할당방식에 대해서 설명주시고 계신데, 객체의 property들의 값이 저장될 연속적인 메모리공간의 시작주소를 객체의 참조변수가 가르키는 메모리공간에서 가르킨다고 이해하였는데 맞게 이해한건지 궁금하여 질문드립니다. (객체의 참조변수 -> property들 값이 저장될 연속된 메모리 공간의 시작주소를 가르키는 메모리공간 -> property들 값이 저장될 연속된 메모리 공간의 시작주소)
- 미해결코어 자바스크립트
const, let
안녕하세요. 강사님. 강의 잘 듣고 있습니다. 강의를 듣다가 2가지 궁금한점이 있어서 질문 남깁니다. 1. const, let과 같은 경우 해당 변수의 초기화를 따로 하는걸로 알고 있습니다. 그래서 처음에 실행컨텍스트가 식별자들의 정보를 environmentRecord에 넣을때 const, let의 변수들은 값이 없어서 넣을 수 없기 때문에 못넣는것인가요? 2. https://poiemaweb.com/js-execution-context 라는 블로그를 보면 Scope Chain이라는 객체와 Variable Object라는 것이 존재한다고 나와있는데요. 해당 블로그에서 말하는 것은 실제 코드에서 객체로 관리하게 되면 이런 프로퍼티를 가진다는 것이고 추상적인 개념으로 보자면 현재 강의에서 나오는 개념이라고 이해하면 될까요? Variable Object = LE의 environmentRecord Scope Chain = LE의 outerEnvironmentReference의 집합
- 미해결코어 자바스크립트
VariableEnvironment와 LexicalEnvironment 관련 질문
안녕하세요 선배님! Variable Environment와 LexicalEnvironment가 초기에 동일한 내용으로 구성되지만 LexicalEnvironment는 예를 들어 함수 실행 도중에 변경되는 사항이 즉시 반영되는 반면 VariableEnvironment는 초기 상태를 유지하는 것으로 이해했습니다. 근데 여기서 LexicalEnvironment가 함수 실행 도중에 변경되는 내용이 혹시 할당하는 과정을 말하는 건가요? var a = 3; 이라는 내용이 있다면 VE, LE 모두 var a를 저장하고 있다가 LE에서만 a=3이라는 할당 내용이 저장되어 그점에서 변경이 이루어진다는 말인지 궁금합니다. 그게 아니라면 어떤 변경을 의미하는지 궁금합니다!! 질 좋은 강의 감사합니다!!
- 미해결코어 자바스크립트
primitive type 질문드립니다!
안녕하세요 선배님 다름이 아니라 기존에 제가 알았던 지식으로는 primitive type은 값 자체를 저장하는 것으로 알았는데 이번 강의를 통해 할당된 값을 가지고 있는 주소값을 저장하는 것을 처음 알게되었습니다. 그렇다면 primitive 변수에 기존에 할당된 값을 변경할 때 먼저 변경된 데이터 값을 가지고 있는 메모리가 있는지 찾고 만약 없다면 새로 데이터를 할당한 뒤 해당 주소값을 저장하게 되는데 이전에 할당된 데이터값을 저장하고 있는 메모리 공간은 프로그램이 종료될때까지 자리를 차지하고 있는건가요? 또한 데이터값을 저장하고 있는 메모리들은 전부 힙에 저장되어지나요??
- 미해결코어 자바스크립트
안녕하세요. 질문드립니다.
안녕하세요. 강사님. 좋은 퀄리티의 강의 제공해주심에 정말 감사드립니다. 강의 들으면서 정리한 제 공부노트를 블로그와 깃허브에 게시하고 싶은데 그렇게 해도 될까요?
- 미해결코어 자바스크립트
10분 즘에 나오는 메모리 할당에 대해서 궁금한게 있습니다.
obj.x 가 3으로 5003번 메모리에 할당되어 있고 obj.arr이 새로운 메모리를 사용하는것이 아니라 obj.x 가 할당된 5003번을 그대로 참조하게 될때 obj.x를 3에서 5로 바꿔서 할당하게 되면 (obj.x=5;) arr도 참조값이 같이 바뀌어서 console.log(obj.arr)할때 [5,4]가 되어야 할것같은데 그렇게 되지 않고 이전과 동일하게 [3, 4] 로 콘솔에 출력되더라구요 그렇다면 obj.x=5 라고 새로 할당하게 되면 5007쯤 되는 메모리에 다시 5라는 값을 넣어주고 7103의 값을 5007로 바꿔주게 되는 건가요?
- 해결됨코어 자바스크립트
클래스 문법에서 super()는 브릿지 함수를 활용하지 않는 케이스랑 같다고 보면될까요?
마지막 예제코드에 superClass 메서드가 super함수의 역할을 하는 것 같아요. 여태까지 배운 내용으로 추측해보면 superClass메서드를 사용한다면 별도로 브릿지 함수를 사용할 필요가 없을 것 같습니다. 이는 superClass메서드를 호출하는 제어권을 자식클래스가 갖게끔해준거라고 생각하면 되는 것일까요? class문법의 경우에 상속하는 경우 constructor 생성자함수에서 super 함수를 사용하지 않으면 에러가 출력되더라구요. 이는 es6에서는 브릿지함수를 사용할 필요가 없는 것이라고 생각하면 되는걸까요? --- 강의 덕분에 js를 아는데 많은 도움이 됐습니다. 이 글을 빌어서 정말 감사하다는 말씀드리고 싶습니다!
- 해결됨코어 자바스크립트
LE관련 질문 드립니다
원래 LE가 함수호출시 만들어지는것으로 이해를했는데 클로저에서 혼란을 겪었습니다. 그래서 위 내용을 찾아보았습니다. 함수객체에서 인터널슬롯으로 [[Environment]] 프로퍼티를 보았습니다. 함수 선언 당시의 outerEnvironmentReference 를 함수객체에 저장하는건가요? 그리고 나중에 함수 호출할 시 생성되는 EC의 LE에 초기화 시켜주나요? 영어 실력이부족해서 해당 초기화 내용은 찾지 못했습니다..
- 해결됨코어 자바스크립트
VariableEnvironment / LexicalEnvironment차이점
안녕하세요 강의를 수강하면서 VariableEnvironment / LexicalEnvironment차이점이 궁금해서 아티클을 찾아보고 있습니다. 해당 블로그(https://velog.io/@proshy/JSVariable-environment-vs-Lexical-environment)에서 두 environment객체의 차이점을 --- VE, LE의 차이점 이제 궁금점인 VE,LE의 차이점을 알아보겠습니다. 한 실행컨텍스트 내에서의 VE와LE의 비교를 해보겠습니다. Variable environment :- Environment Record: 현재 실행 컨텍스트 내에서 호이스팅이 되는 애들(var, 함수선언문)등을 저장- outerLexicalEnvironment Reference : outer environment Lexical environment :- Environment Record: let,const로 선언된 변수, 함수표현식도 포함.- outerLexicalEnvironment Reference : Variable environment --- 한다고 설명을 했는데, 강의는 표현식은 저장이 안되는걸로 이해를 해서 혼란이 왔습니다 어떻게 이해하면 좋을까요? es5와 es6이후 내용의 차이라고 생각하면 될까요? 2. 실행컨텍스트 값을 직접 확인할 수 있느 방법이 있을까요? 3. 블록스코프도 컨텍스트 객체를 갖나요? 감사합니다
- 미해결코어 자바스크립트
궁금합니다.
안녕하세요, 먼저 명강의 너무 감사드립니다. 기존에 일만하기 위한 자바스크립트가 얼마나 날림으로 일을 하는건지 돌아볼수 있었습니다. 반성합니다 ㅜㅜ 클로저와 지역변수 관련 강의를 듣고 궁금한 점이 있어서 글을 남기게 되었습니다. 클로저는 함수가 종료되어도 return에 function을 두고 최초 선언시의 정보를 유지하게 된다고 해서 생각해보니.... 업무 중에 아래와 같은 소스로 click function을 만들어 놓고 사용한 적이 있는데 어떤 원리인지 궁금합니다. 동일하게 호출하는데 매개변수를 다르게 주고 호출하면 각각 매개변수에 맞는 function으로 정상적으로 동작했었습니다... 제대로 모르는 상태에서 업무를 했고 이제와서 강의를 듣다보니 오히려 머리속이 더 복잡해 졌습니다 ㅜㅜ 도와주세요 function test(a,b){ $(".t_"+a).click(function(){ alert("in_"+a); }) } var temp = new test(1,2); var temp = new test(5,3);
- 미해결코어 자바스크립트
마지막 예제 질문드립니다!
arr.__proto__.__proto__.toString.call(arr)의 결과가 [object Array]인게 이해가 잘안가서 이것저것 찾아보고 정리해본건데 이런 맥락이 맞을까요?
- 미해결코어 자바스크립트
Primitive Type 메모리 관련 질문입니다!
안녕하세요! 강의를 보던 중에 헷갈리는 부분이 있어서 질문드립니다.기본형은 만들어진 데이터를 계속 재사용한다고 설명해주셨는데 그럼 5003번 주소를 참조하고 있을 경우에 증감연산자(++, --)를 수행하면5003번 주소에 있는 값 자체를 바꾸는 것인가요, 새로운 값을 저장해서 그 메모리 주소를 참조해주는 것인가요? 전자라면 그렇게 되면 같은 값을 바라보고 있는 변수들은 다 값이 변경되는건지도 궁금합니다..! 좋은 강의 제공해주셔서 감사합니다!
- 미해결코어 자바스크립트
14:21초 cpp로 표현한다면
안녕하세요. 14:21초에서 설명해주신 클로저의 내용을 cpp로 표현한다면 아래와 같이 private 접근지정자로 localA를 선언하고 get, set 함수를 구현해준 것과 비슷하네요. #include <iostream> using namespace std; class A { private: int localA = 1; int localB = 2; int localC = 3; public: int getLocalA() { return localA; } void setLocalA(const int& input) { localA = input; } } 감사합니다.
- 미해결코어 자바스크립트
생명연장의 꿈 메치니코프 덕분에 클로저를 못잊을 거 같아요.
선생님은 유쾌하신 분 같아요. 강의 중간 중간에 이런 멘트가 있어서 개념을 기억하는 데 도움이 되는 것 같습니다. 감사합니다.
- 미해결코어 자바스크립트
11:14에 b = 15를 대입하면
5004에 'ddd' 5005에 15를 넣고 ------------ 1003 ------------ 이름 : b 값: @5005 가 되어야하는 거군요. . 감사합니다.
- 미해결코어 자바스크립트
설명이 아주 아름다워요.
설명이 아주 아름다워요. 아티스트 정재남 선생님 이 강의에서는 프레젠테이션 기법도 배울 수 있을 거 같아요. 명확한 내용전달 감사합니다.
- 미해결코어 자바스크립트
선생님 몇번 복습하고 질문좀 드릴게요 ㅠ
제가 이해한게 맞나 해서 질문드립니다 ㅠ 태초에 전역컨텍스트가 잇어서 호이스팅과 디스바인딩이 일어나고 변수선언과 함수 표현식이 아닌 선언문을 호이스팅 한후 값을 할당 함수호출 이부분에서요 함수호출이되면 무조건 그함수에 실행컨텍스트가 열리고 호이스팅과 디스바인딩을 하는게 맞나요? 전역 컨텍스트 외에 컨텍스트는 함수 호출할때만 생기는게 맞나요? 디스바인딩과 호이스팅은 변수선언 함수선언에만 적용되는지도 궁금합니다 ㅠ 아그리고 마지막으로.. 내부함수안에 var를 쓰지 않고 전역변수 a 를 그대로 가져와서 a값을 재할당할때도 호이스팅이 일어나는지 궁금합니다.. 너무 많이 여쭤봐서 정말 죄송합니다. 그리고 강의내용이 너무 좋아요 ㅠㅠ 책도 사서 꼭 봐바야겟습니다. ㅠ.ㅠ
- 해결됨코어 자바스크립트
return된 함수 질문드립니다.
function makeCounter() { let count = 0; return function() { return count++; }; } let counter = makeCounter(); console.log( counter() ); // 0(?) console.log( counter() ); // 1(?) console.log( counter() ); // 2(?) 좋은 강의 잘 듣고 있습니다만, Closure부터 이해가 안되기 시작하네요.. 질문 드립니다.. 위의 코드의 경우에 counter = function() { return count++; }; 이라서 이를 counter()로 실행하면 counter를 찾아야하기 때문에 외부 렉시컬 환경으로 나가서 let counter = 0; 이라는 것을 찾아서 0을 가져와서 `++`로 증감시키면 1, 2, 3이되어야하는것 아닌가요? 이 부분이 0이 되는 이유를 모르겠습니다...
- 미해결코어 자바스크립트
함수가 호출이 되면 그스코프 안에 어떤게 잇어도 일단 함수부터 읽고 나서 실행하는게 맞나요?
무조건 호출 되면 그 호출된 함수실행하고 순서대로 이어 나가지는거 맞나요??;; 그리고 만약 for이나 if같은건 실행컨텍스트에서 제외가 되나요? 그냥 일단 함수선언된것 부터 읽고 값을 순서대로 읽어나가는게 맞나요?;