호이스팅 [JavaScript] 호이스팅의 원리와 TDZ가 발생하는 원인 위 코드의 1번 라인에서는 아직 정의되지 않은 변수 a를 호출하고 있습니다. 이러한 결과 때문에 let과 const는 var과는 다르게 호이스팅이 발생하지 않는다고 오해하곤 합니다. 먼저 let과 const도 호이스팅이 동작한다는 증거에 대해서 먼저 살펴보고 만약 let이 호이스팅이 되지 않는다면 1번의 에러처럼 정의되지 않은 변수라고 나와야 하지 않을까요? 변수 b는 아직 초기화가 되지 않... JavaScript호이스팅JavaScript 두디어 찾아온 두번째 주 ! 폴더 구조가 왜 중요한데 ? props는 뭐야 ?container,presenter에 왜 쪼개는건데 !!! (Code Camp FE 6기) 얘는 참이면 뒤를 그려줘 ! -이 두개의 파일을 어떻게 합칠까? - props, export - 리액트의 단방향 데이터 흐름 props : 부모 컴포넌트가 자식컴포넌트에게 불려주는 변수/함수 - 컴포넌트 사용을 위한 폴더구조 ! commons 폴더(여러 군데에서 쓰이는 함수/기능들) , components 폴더 (한 번 쓰는애들) -import, export 잘 작성해줄것 ! -useStat... containerthisBinding실행 컨텍스트스택PropsexportimportVariablesEnvironment큐Presenter호이스팅Presenter [Javascript] 실행 컨텍스트란 ? (Execution Context) 변수, 함수 등..)들을 모아 이를 이용해 실행 컨텍스트를 만들고, 이를 콜 스택(call stack)에 쌓아올렸다가, 가장 위에 쌓여있는 컨텍스트와 관련 있는 코드들을 실행하는 식으로 전체코드의 환경과 순서를 보장합니다. 1.2 실행 컨텍스트와 코드의 실행과정 다시 코드를 실행하며 (3)에서 outer()가 호출되고, outer()함수 실행을 위한 실행 컨텍스트가 생성되고, 콜스택에 쌓입니... JavaScripthoisting스코프체이닝실행컨텍스트호이스팅자바스크립트JavaScript let vs const (hoisting,scope) 브라우저에서 자바스크립트를 해석할때 변수와 함수의 메모리 공간을 선언전에 미리 할당하는것을 의미합니다. 변수의 선언과 초기화를 분리한 후, 선언만 최상단으로 옮기는 것이라고 합니다. 함수 선언 위와 같은 경우 함수를 호출할 때 에러가 발생해야하는데 javascript에서는 호이스팅(hoisting)을 통해 함수선언문을 상단으로 옮겨서 실행시키고 함수호출문이 실행된다. 함수표현식 함수표현식 c... const스코프let호이스팅const programmers 내적 (javascript) , 변수선언, 호이스팅 공부 javascript 변수 선언에 대해 var 같은 변수를 한 번 더 선언했지만 각기 다른 값이 출력된다. 코드량이 많아진다면 변수의 사용을 파악하기 힘들고 값이 바뀔 수 있다. 위와 같은 문제를 해결하기 위해 ES6이후 let과 const가 추가되었다. let name이 이미 선언되었다는 메시지와 함께 에러가 뜬다. 변수 재선언이 불가능하다. let vs const let은 변수에 재할당이 ... JavaScript변수프로그래머스programmers알고리즘호이스팅JavaScript 210827 개발일지 : if조건문을 보완하기 위함 (if문 안에 if문을 넣는 것) prompt : 브라우저에서 사용자에게 값을 전달받기 위한 팝업창을 띄우는 메서드. 모든 브라우저에서 사용 가능하며 팝업창의 형태와 디자인은 브라우저 마다 다름. alert : 브라우저에서 사용자에게 정보 전달만을 수행하는 메서드. parseInt : 문자 데이터 타입으로 전달된 숫자를, 숫자 데이터 타입(정수형)으로 바꿔줌. ... JavaScript대구AI스쿨웹프로그래밍지역변수스코프실습전역변수호이스팅조건문htmlJavaScript [JS] 변수(Value) ❓ 변수 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 변수 == 변수명(식별자) 메모리 공간에 상징적인 이름을 붙인 것. 할당(대입, 저장) : 변수에 값을 저장하는 것. 어떤 값을 구별해서 식별할 수 있는 고유한 이름 변수 이름은 식별자이다. 값을 식별할 수 있는 이름은 모두 식별자라고 부른다. 식별자는 메모리 공간에 저장되어 있는 어... const변수js식별자hoistingnameing convetion예약어frontend네이밍 컨벤션variableletvar호이스팅TILTIL JavaScript 호이스팅 오늘은 자바스크립트 호이스팅에 대해 이야기 해보겠습니다. 자바스크립트에는 호이스팅이라는 것이 있는데, 변수 및 함수를 유효범위 내에 최상단으로 끌어 올리는 것을 말합니다. 위 코드를 보면 호출이 함수 선언보다 위에 있지만 함수선언문은 호이스팅으로 인해 유효범위까지 최상단으로 끌어 올려지기 때문에 정상적으로 작동을 합니다. 위 코드는 자바스크립트엔진에 의해 호이스팅 된 코드입니다. 위 코드를 ... 호이스팅JavaScriptJavaScript [TIL] 호이스팅, 스코프 변수를 선언하는 키워드인 var, let, const의 호이스팅과 스코프를 설명한다. var키워드를 사용한 변수 선언은 '선언단계'와 동시에 '초기화단계'가 진행된다. 변수선언보다 먼저 변수를 참조했음에도 불구하고 reference error가 아닌 undefined에러가 뜬다. 그 이유는 변수선언이 소스코드가 실행되는 런타임이 아니라, 그 이전단계에서 먼저 실행되기 때문이다. 자바스크립트는... 호이스팅자바스크립트스코프스코프 new TIL. var vs. let var : 선언하기 전에 값을 할당할 수 있고, 값을 할당하기 전에 출력도 가능함 👉 var 호이스팅 💣 var를 쓰면 안되는 이유 1. var hoisting : 어디에서 선언했는지 상관없이 항상 선언을 제일 위로 끌어올려주는 것 2. has no block scope : 블럭을 이용해 선언을 했더라도 어디에서나 보일 수 있음. 규모있는 프로젝트를 진행할 경우 문제가 될 수 있음. 📌 le... 호이스팅letvarlet [자바스크립트]모던 자바스크립트 Deep Dive - 4. 변수 변수를 선언할 때는 var, let, const 키워드를 사용한다. ES6에서 let, const 키워드가 도입되기 이전까지 var 키워드는 자바스크립트에서 변수를 선언할 수 있는 유일한 키워드였다. 따라서 변수 선언에 의해 확보된 메모리 공간은 비어 있을 것으로 생각할 수 있으나 확보된 메모리 공간에는 자바스크립트 엔진에 의해 undefined라는 값이 암묵적으로 할당되어 초기화된다. 선언... 호이스팅호이스팅 Koans- 04_Scope (1) 함수선언식(Function Declarations)과 함수표현식(Function Expressions) 함수 선언식 (Function Declarations) 일반적인 프로그래밍 언어에서의 함수 선언과 비슷한 형식이다. 선언식 형태: function 함수명() {} 예시 함수 표현식 (Function Expressions) 유연한 자바스크립트 언어의 특징을 활용한 선언 방식 표현식 형... scope함수표현식호이스팅함수선언식koanskoans 1주차 기록 자바 스크립트의 기초에 대해 공부했다. 변수, 변수의 타입, 함수, 조건문, 반복문을 학습하고 HTML의 기본 구조에 대해서도 조금 공부하였다. 여러가지 문제를 풀면서 문제의 난이도가 빠르게 어려워지는 것이 체감이 되었고 코딩이 처음이었던 페어에게는 굉장히 버거운 시간이었을 수도 있겠다는 생각이 들었다. 과정이 진행되면서 모르는 내용이나 부족한 부분을 학습하게 될 때 더 많은 노력이 필요하겠... 코드스테이츠호이스팅코드스테이츠 모던 자바스크립트 Deep Dive | 변수 즉, 변수(variable)는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이다. 따라서 개발자가 직접 메모리 주소를 통해 값을 저장하고 참조할 필요가 없고 변수를 통해 값에 안전하게 접근할 수 있다 메모리(Memory)는 데이터를 저장할 수 있는 메모리 셀의 집합체이다. 어떠한 값을 재사용하고자 할 때, 변수가 없다면 메모리에 저장된 데... 모던 자바스크립트 Deep Dive호이스팅JavaScriptJavaScript [JavaScript] 호이스팅 hoisting : 끌어올리기 실제 호출하기 이전으로 끌어 올라간 것처럼 동작 변수 호이스팅 var : 변수의 선언만 끌어올려짐. 할당값은 끌어올려지지 않음. const vs let : const는 선언시 반드시 값을 할당해야하고 이후에 재할당을 할 수 없음. 함수 호이스팅 선언식 함수만 끌여올려짐. 익명함수(표현식 함수)는 끌어올려지지 않음. Func2의 경우 변수 선언만 끌어올려짐. 호이... letJavaScript호이스팅자바스크립트hoistingconstvarJavaScript 자바스크립트에서 호이스팅이란 다음의 결과값은 undefined가 아니라 놀랍게도 2입니다. 이 코드의 결과값은 undefined입니다. 이런 결과가 나오는 이유는 호이스팅 때문입니다. 호이스팅은 선언문을 끌어올리는 동작입니다. var a;는 선언문이고 a = 2는 대입문입니다. 따라서, 맨 위의 코드는 var a;가 호이스팅에 의해서 가장 위로 끌어올려지므로 2가 출력됩니다. 하지만, var a = 2;는 다릅니다. v... 호이스팅자바스크립트자바스크립트 TIL 96 | 코어자바스크립트(4) 실행 컨텍스트 실행 컨텍스트(execution context)는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체로, 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념이다. 동일한 환경, 즉 하나의 실행컨텍스트를 구성할 수 있는 방법으로는 전역공간, eval() 함수, 함수, 블록 {} 이 있다. 콜 스택에는 전역 컨텍스트 외에 다른 덩어리가 없으므로 코드들을 순차로 진행하다가 (3)에서... 호이스팅코어자바스크립트JavaScript스코프실행컨텍스트TILjsJavaScript
[JavaScript] 호이스팅의 원리와 TDZ가 발생하는 원인 위 코드의 1번 라인에서는 아직 정의되지 않은 변수 a를 호출하고 있습니다. 이러한 결과 때문에 let과 const는 var과는 다르게 호이스팅이 발생하지 않는다고 오해하곤 합니다. 먼저 let과 const도 호이스팅이 동작한다는 증거에 대해서 먼저 살펴보고 만약 let이 호이스팅이 되지 않는다면 1번의 에러처럼 정의되지 않은 변수라고 나와야 하지 않을까요? 변수 b는 아직 초기화가 되지 않... JavaScript호이스팅JavaScript 두디어 찾아온 두번째 주 ! 폴더 구조가 왜 중요한데 ? props는 뭐야 ?container,presenter에 왜 쪼개는건데 !!! (Code Camp FE 6기) 얘는 참이면 뒤를 그려줘 ! -이 두개의 파일을 어떻게 합칠까? - props, export - 리액트의 단방향 데이터 흐름 props : 부모 컴포넌트가 자식컴포넌트에게 불려주는 변수/함수 - 컴포넌트 사용을 위한 폴더구조 ! commons 폴더(여러 군데에서 쓰이는 함수/기능들) , components 폴더 (한 번 쓰는애들) -import, export 잘 작성해줄것 ! -useStat... containerthisBinding실행 컨텍스트스택PropsexportimportVariablesEnvironment큐Presenter호이스팅Presenter [Javascript] 실행 컨텍스트란 ? (Execution Context) 변수, 함수 등..)들을 모아 이를 이용해 실행 컨텍스트를 만들고, 이를 콜 스택(call stack)에 쌓아올렸다가, 가장 위에 쌓여있는 컨텍스트와 관련 있는 코드들을 실행하는 식으로 전체코드의 환경과 순서를 보장합니다. 1.2 실행 컨텍스트와 코드의 실행과정 다시 코드를 실행하며 (3)에서 outer()가 호출되고, outer()함수 실행을 위한 실행 컨텍스트가 생성되고, 콜스택에 쌓입니... JavaScripthoisting스코프체이닝실행컨텍스트호이스팅자바스크립트JavaScript let vs const (hoisting,scope) 브라우저에서 자바스크립트를 해석할때 변수와 함수의 메모리 공간을 선언전에 미리 할당하는것을 의미합니다. 변수의 선언과 초기화를 분리한 후, 선언만 최상단으로 옮기는 것이라고 합니다. 함수 선언 위와 같은 경우 함수를 호출할 때 에러가 발생해야하는데 javascript에서는 호이스팅(hoisting)을 통해 함수선언문을 상단으로 옮겨서 실행시키고 함수호출문이 실행된다. 함수표현식 함수표현식 c... const스코프let호이스팅const programmers 내적 (javascript) , 변수선언, 호이스팅 공부 javascript 변수 선언에 대해 var 같은 변수를 한 번 더 선언했지만 각기 다른 값이 출력된다. 코드량이 많아진다면 변수의 사용을 파악하기 힘들고 값이 바뀔 수 있다. 위와 같은 문제를 해결하기 위해 ES6이후 let과 const가 추가되었다. let name이 이미 선언되었다는 메시지와 함께 에러가 뜬다. 변수 재선언이 불가능하다. let vs const let은 변수에 재할당이 ... JavaScript변수프로그래머스programmers알고리즘호이스팅JavaScript 210827 개발일지 : if조건문을 보완하기 위함 (if문 안에 if문을 넣는 것) prompt : 브라우저에서 사용자에게 값을 전달받기 위한 팝업창을 띄우는 메서드. 모든 브라우저에서 사용 가능하며 팝업창의 형태와 디자인은 브라우저 마다 다름. alert : 브라우저에서 사용자에게 정보 전달만을 수행하는 메서드. parseInt : 문자 데이터 타입으로 전달된 숫자를, 숫자 데이터 타입(정수형)으로 바꿔줌. ... JavaScript대구AI스쿨웹프로그래밍지역변수스코프실습전역변수호이스팅조건문htmlJavaScript [JS] 변수(Value) ❓ 변수 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 변수 == 변수명(식별자) 메모리 공간에 상징적인 이름을 붙인 것. 할당(대입, 저장) : 변수에 값을 저장하는 것. 어떤 값을 구별해서 식별할 수 있는 고유한 이름 변수 이름은 식별자이다. 값을 식별할 수 있는 이름은 모두 식별자라고 부른다. 식별자는 메모리 공간에 저장되어 있는 어... const변수js식별자hoistingnameing convetion예약어frontend네이밍 컨벤션variableletvar호이스팅TILTIL JavaScript 호이스팅 오늘은 자바스크립트 호이스팅에 대해 이야기 해보겠습니다. 자바스크립트에는 호이스팅이라는 것이 있는데, 변수 및 함수를 유효범위 내에 최상단으로 끌어 올리는 것을 말합니다. 위 코드를 보면 호출이 함수 선언보다 위에 있지만 함수선언문은 호이스팅으로 인해 유효범위까지 최상단으로 끌어 올려지기 때문에 정상적으로 작동을 합니다. 위 코드는 자바스크립트엔진에 의해 호이스팅 된 코드입니다. 위 코드를 ... 호이스팅JavaScriptJavaScript [TIL] 호이스팅, 스코프 변수를 선언하는 키워드인 var, let, const의 호이스팅과 스코프를 설명한다. var키워드를 사용한 변수 선언은 '선언단계'와 동시에 '초기화단계'가 진행된다. 변수선언보다 먼저 변수를 참조했음에도 불구하고 reference error가 아닌 undefined에러가 뜬다. 그 이유는 변수선언이 소스코드가 실행되는 런타임이 아니라, 그 이전단계에서 먼저 실행되기 때문이다. 자바스크립트는... 호이스팅자바스크립트스코프스코프 new TIL. var vs. let var : 선언하기 전에 값을 할당할 수 있고, 값을 할당하기 전에 출력도 가능함 👉 var 호이스팅 💣 var를 쓰면 안되는 이유 1. var hoisting : 어디에서 선언했는지 상관없이 항상 선언을 제일 위로 끌어올려주는 것 2. has no block scope : 블럭을 이용해 선언을 했더라도 어디에서나 보일 수 있음. 규모있는 프로젝트를 진행할 경우 문제가 될 수 있음. 📌 le... 호이스팅letvarlet [자바스크립트]모던 자바스크립트 Deep Dive - 4. 변수 변수를 선언할 때는 var, let, const 키워드를 사용한다. ES6에서 let, const 키워드가 도입되기 이전까지 var 키워드는 자바스크립트에서 변수를 선언할 수 있는 유일한 키워드였다. 따라서 변수 선언에 의해 확보된 메모리 공간은 비어 있을 것으로 생각할 수 있으나 확보된 메모리 공간에는 자바스크립트 엔진에 의해 undefined라는 값이 암묵적으로 할당되어 초기화된다. 선언... 호이스팅호이스팅 Koans- 04_Scope (1) 함수선언식(Function Declarations)과 함수표현식(Function Expressions) 함수 선언식 (Function Declarations) 일반적인 프로그래밍 언어에서의 함수 선언과 비슷한 형식이다. 선언식 형태: function 함수명() {} 예시 함수 표현식 (Function Expressions) 유연한 자바스크립트 언어의 특징을 활용한 선언 방식 표현식 형... scope함수표현식호이스팅함수선언식koanskoans 1주차 기록 자바 스크립트의 기초에 대해 공부했다. 변수, 변수의 타입, 함수, 조건문, 반복문을 학습하고 HTML의 기본 구조에 대해서도 조금 공부하였다. 여러가지 문제를 풀면서 문제의 난이도가 빠르게 어려워지는 것이 체감이 되었고 코딩이 처음이었던 페어에게는 굉장히 버거운 시간이었을 수도 있겠다는 생각이 들었다. 과정이 진행되면서 모르는 내용이나 부족한 부분을 학습하게 될 때 더 많은 노력이 필요하겠... 코드스테이츠호이스팅코드스테이츠 모던 자바스크립트 Deep Dive | 변수 즉, 변수(variable)는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이다. 따라서 개발자가 직접 메모리 주소를 통해 값을 저장하고 참조할 필요가 없고 변수를 통해 값에 안전하게 접근할 수 있다 메모리(Memory)는 데이터를 저장할 수 있는 메모리 셀의 집합체이다. 어떠한 값을 재사용하고자 할 때, 변수가 없다면 메모리에 저장된 데... 모던 자바스크립트 Deep Dive호이스팅JavaScriptJavaScript [JavaScript] 호이스팅 hoisting : 끌어올리기 실제 호출하기 이전으로 끌어 올라간 것처럼 동작 변수 호이스팅 var : 변수의 선언만 끌어올려짐. 할당값은 끌어올려지지 않음. const vs let : const는 선언시 반드시 값을 할당해야하고 이후에 재할당을 할 수 없음. 함수 호이스팅 선언식 함수만 끌여올려짐. 익명함수(표현식 함수)는 끌어올려지지 않음. Func2의 경우 변수 선언만 끌어올려짐. 호이... letJavaScript호이스팅자바스크립트hoistingconstvarJavaScript 자바스크립트에서 호이스팅이란 다음의 결과값은 undefined가 아니라 놀랍게도 2입니다. 이 코드의 결과값은 undefined입니다. 이런 결과가 나오는 이유는 호이스팅 때문입니다. 호이스팅은 선언문을 끌어올리는 동작입니다. var a;는 선언문이고 a = 2는 대입문입니다. 따라서, 맨 위의 코드는 var a;가 호이스팅에 의해서 가장 위로 끌어올려지므로 2가 출력됩니다. 하지만, var a = 2;는 다릅니다. v... 호이스팅자바스크립트자바스크립트 TIL 96 | 코어자바스크립트(4) 실행 컨텍스트 실행 컨텍스트(execution context)는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체로, 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념이다. 동일한 환경, 즉 하나의 실행컨텍스트를 구성할 수 있는 방법으로는 전역공간, eval() 함수, 함수, 블록 {} 이 있다. 콜 스택에는 전역 컨텍스트 외에 다른 덩어리가 없으므로 코드들을 순차로 진행하다가 (3)에서... 호이스팅코어자바스크립트JavaScript스코프실행컨텍스트TILjsJavaScript