코어자바스크립트 [Core Javascript] JS 분석 from scratch: 데이터 타입 비교 기본형과 참조형 🧐 > 기본형과 참조형 구분 기준이 뭐지..?! JS의 데이터 타입에는 기본형과 참조형이 있다는 것은 다들 아실겁니다. 불변값: 메모리의 값을 저장할 때 데이터의 영역은 지워지지 않는다. 가변값: 메모리의 값을 저장할 때 변수 영역의 데이터는 바뀔 수 있다. 이것을 가변값이라고 한다. 기본형 데이터의 할당 => 기본형 데이터는 모두 불변값입니다. 이전 글에 컴퓨터의 메모리는 값을 변수 영역과 메... 기본형데이터타입코어자바스크립트참조형기본형 코어자바스크립트 | 실행컨텍스트 실행할 때 필요한 환경 정보들을 모아놓은 객체 동일한 환경에 있는 코드들을 실행할 때 필요한 환경 정보들을 모아 컨텍스트를 구성하고, 여기서 "동일한 환경" , 즉 하나의 실행 컨텍스트를 구성할 수 있는 방법으로 어떤 실행컨텍스트가 활성화 될 때, 자바스크립트 엔진은 해당 컨텍스트에 관련된 코드들을 실행하는 데 필요한 환경 정보들을 수집해 실행 컨텍스트 객체에 저장. 실행 컨텍스트를 구성하는... 자바스크립트코어자바스크립트자바스크립트 코어자바스크립트 | 변수 선언과 데이터 할당 변수: 변할 수 있는 데이터를 담는 공간 또는 그릇. 메모리 에서 비어있는 공간 확보 -> 공간의 이름 설정 (선언 과정) -> a라는 이름을 가진 주소를 검색해서 문자열 'abc'할당. 실제로는 해당 위치에 문자열 'abc'를 직접 저장하지 않는다. 데이터를 저장하기 위한 별도의 메모리 공간을 다시 확보해서 문자열 'abc'를 저장하고, 그 주소를 변수 영역에 저장하는 식으로 이뤄짐. 변수... 자바스크립트코어자바스크립트자바스크립트 [JS] JS는 왜 그렇게 동작할까?-실행컨텍스트,호이스팅,스코프 정재남,『코어자바스크립트』를 읽고 정리한 내용입니다. 이해가 부족한 부분은 책과 동일하게 작성하였습니다. 실행 컨텍스트는 실행할 코드에 제공하 환경 정보들을 모아놓은 객체이다. 스택(Stack) : 출입구가 하나뿐인 데이터 구조, Last In-First Out 큐(Queue) : 양쪽이 모두 열려있는데이터 구조, First In-First Out 그렇다는 것은 호이스팅으로 끌어올리는데 있어... 코어자바스크립트큐실행컨텍스트스코프자바스크립트스택스코프 20211213-TIL 알고리즘 주차의 마지막문제였다. 정규식을 좀 다룰줄 알아야겠다. 문제이해하는데 시간이 너무오래걸렸다. 정규표현식과 연산자가 문자열일떄 연산을하는 방법을 검색을통해 참고하여 한 2시간 50분정도 걸려 시간내에 겨우 제출할 수있었다.. 접근 방법 문자열로 주어졌기떄문에 우선 문자열을 기준으로 배열로 나눠야겠다는생각이 들었다. 그래서 split함수를 통해 나누려헀으나, 나눠야할 문자열이 -,+,*... 함수형 자바스크립트 ES6+코어자바스크립트항해99 3기실행컨텍스트알고리즘TIL이터러블/이터레이터인프런TIL 코어자바스크립트 2장 part2 (실행 컨텍스트) 실행 컨텍스트 실행할 코드에 제공할 환경 정보들을 모아놓은 객체 ex) 전역컨텍스트, eval()함수 , 함수 등 컨텍스트 내부 구조 VariableEnvironment : 최초 실행 시의 스냅 샷을 유지 LexicalEnvironment : VariableEnvironment 을 복사 해 만들어져, 이후 주로 활용 ThisBinding VariableEnvironment와 LexicalEn... 코어자바스크립트코어자바스크립트 [코어자바스크립트]콜백 함수 알아보기 콜백함수를 넘겨받은 코드는 콜백 함수를 필요에 따라 적절한 시점에 시행한다. 이처럼 콜백 함수는 다른 코드에게 인자로 넘겨줌으로써 그 제어권도 함께 위임한 함수이다. 콜백 함수를 위임받은 코드는 자체적인 내부 로직에 의해 이 콜백함수를 적절한 시점에 실행할 것이다. 이렇게 콜백함수의 제어권을 넘겨받은 코드는 콜백 함수 호출 시점에 대한 제어권을 가진다. 콜백 함수도 함수이기 때문에 기본적으로... 코어자바스크립트JavaScriptJavaScript [JS] 자바스크립트의 데이터 타입 컴퓨터 용어에서 변수(variable)은 '변할 수 있는 무언가'를 뜻하는데, 여기서 무언가는 데이터를 말한다. 데이터를 저장하기 위한 별도의 메모리 공간을 다시 확보해서 "kimdaeseong"을 저장하고, 그 주소를 변수 영역에 저장한다고 한다. 이 책의 저자분께서는 해당 내용의 이해를 돕기 위해 '변수 영역'과 '데이터 영역'으로 데이터 성질을 구분해서 설명하는데, 이해에 도움이 되기 ... JavaScriptstudy코어자바스크립트JavaScript TIL 82 | 코어자바스크립트(2) this 2 상황별로 this에 값이 바인딩 되는 규칙을 깨고 별도의 대상을 바인딩 하는 방법도 있다. call 메서드는 메서드의 호출 주체인 함수를 즉시 실행하도록 하는 명령어이다. 이렇게 하면 함수가 실행되어도 this가 전역객체를 참조하는 것이 아니라 임의의 지정된 객체를 바라보게 된다. 메서드로서 호출할 때도 call 메서드를 이용하면 this가 객체가 되는 것이 아니라 지정된 객체를 바라본다!!... 코어자바스크립트thisJavaScriptTILJavaScript TIL 53 day 3장 This this는 실행 컨텍스트가 생성될 때 함께 결정 => 함수를 호출 할 때!! 메서드로 호출 : 함수 앞에 (.)이나 []가 있을 경우 메서드 내부의 this 메서드 내부 함수의 this 우회 방법 화살표 함수(ES6 추가) 콜배 함수 호출 시 해당 함수 내부에서의 this 콜백함수도 함수 3)의 경우 html 엘리먼트에 'click'이벤트 => 콜백함수의 첫번째 인자로 삼아 함수 실행 => ... this코어자바스크립트this 코어자바스크립트 5장 part2 ( 클로저 : 정보은닉 ) 클로저가 발생하는 경우 return에 의해서 setInterval/setTimeout eventListener 클로저의 메모리 해제 방법 함수 참조를 끊음 식별자 = null 형태로 한다. 클로저의 활용 사례 콜백함수 내부에서 외부 데이터를 사용하고자 할때 접근 권한 제어(정보 은닉) 생성자 함수를 통해 객체 만들기 생성자 함수를 통해 obj라는 객체를 생성한 것을 알 수 있다. 위의 코드를... 코어자바스크립트코어자바스크립트 (코어자바스크립트) 3. this - class 맛보기. Javascript에서 대부분 가장 난해하다는 생각을 갖는 개념이라고 책에도 쓰여 있는 것 같습니다. this 바인딩에 대한 이슈를 경험할 일이 없는 저와 같은 초보가 해당 상황에 대해 마주했을 때, 검색을 통해 해결하는게 가장 최선인 것 같습니다. 짧게나마 개념을 이해하자면, this 가 나타내는 것은 해당 실행 컨텍스트(현재는 대부분 함수로 이해하시면 됩니다.) 내부에 존재하는 envir... 코어자바스크립트JavaScriptJavaScript TIL] JavaScript-Closure(코어 자바스크립트) 클로저(Closure)는 내부함수가 외부함수의 맥락(Context)에 접근할 수 있는것으로 어떤 함수 A에서 선언한 변수 A를 참조하는 내부함수 b를 외부로 전달한 경우, A의 실행 컨텍스트가 종료된 이후에도 변수 a가 사라지지 않는 현상을 말한다. 내부함수는 외부함수의 지역변수에 접근할 수 있다. 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근할 수 있... 코어자바스크립트closureJavaScriptTILJavaScript 코어 자바스크립트05클로저 어떤 함수 A에서 선언한 변수 a를 참조하는 내부함수 B를 외부로 전달할 경우 A의 실행 컨텍스트가 종료된 이후에도 변수 a가 사라지지 않는 현상이다. 만약 함수 B가 아닌 결과인 B()를 return했다면 B 변수의 값들은 언젠가 가비지 컬렉터에 의해 소멸했을 것이다. 꼭 return이 아니더라도, 지역변수를 참조하는 내부함수를 외부에 전달하면 클로저가 된다. 콜백 함수 내부에서 외부 데이... 코어자바스크립트클로저코어자바스크립트 CoreJavaScript Chapter 5. [Closure] 요번 챕터는 Closure 에 대해서 확인해보려 한다 ! 어떤 컨텍스트 A에서 선언한 내부함수 B의 실행 컨텍스트가 활성화된 시점에는 B의 OE가 참조하는 대상인 A의 LE에도 접근이 가능했다! 하지만 우리는 내부함수 B가 A의 LE를 언제나 사용하는 것은 아니라는걸 알아야 한다. 어떤 함수에서 선언한 변수를 참조하는 내부함수에서만 발생하는 현상이라고 할 수 있다. 또한 위의 의미는 외부 함... 코어자바스크립트JavaScriptJavaScript 코어 자바스크립트 #7 클래스 클래스의 일반적인 개념은 공통 속성의 정의라고 할 수 있습니다. 이처럼 하위 클래스는 상위 클래스의 속성을 상속하며 점차 구체적인 요건이 추가 또는 변경됩니다. 일반적으로 프로토타입 기반의 언어는 클래스의 개념이 없다고 하지만 프로토타입 체이닝을 통해 상위 프로토타입의 내용을 참조한다는 점이 클래스의 개념과 약간 비슷하게 해석할 수 있습니다. 하지만 앞서 6장에서 배웠듯이 인스턴스가 생성자 ... Chapter 07 클래스코어자바스크립트Chapter 07 클래스
[Core Javascript] JS 분석 from scratch: 데이터 타입 비교 기본형과 참조형 🧐 > 기본형과 참조형 구분 기준이 뭐지..?! JS의 데이터 타입에는 기본형과 참조형이 있다는 것은 다들 아실겁니다. 불변값: 메모리의 값을 저장할 때 데이터의 영역은 지워지지 않는다. 가변값: 메모리의 값을 저장할 때 변수 영역의 데이터는 바뀔 수 있다. 이것을 가변값이라고 한다. 기본형 데이터의 할당 => 기본형 데이터는 모두 불변값입니다. 이전 글에 컴퓨터의 메모리는 값을 변수 영역과 메... 기본형데이터타입코어자바스크립트참조형기본형 코어자바스크립트 | 실행컨텍스트 실행할 때 필요한 환경 정보들을 모아놓은 객체 동일한 환경에 있는 코드들을 실행할 때 필요한 환경 정보들을 모아 컨텍스트를 구성하고, 여기서 "동일한 환경" , 즉 하나의 실행 컨텍스트를 구성할 수 있는 방법으로 어떤 실행컨텍스트가 활성화 될 때, 자바스크립트 엔진은 해당 컨텍스트에 관련된 코드들을 실행하는 데 필요한 환경 정보들을 수집해 실행 컨텍스트 객체에 저장. 실행 컨텍스트를 구성하는... 자바스크립트코어자바스크립트자바스크립트 코어자바스크립트 | 변수 선언과 데이터 할당 변수: 변할 수 있는 데이터를 담는 공간 또는 그릇. 메모리 에서 비어있는 공간 확보 -> 공간의 이름 설정 (선언 과정) -> a라는 이름을 가진 주소를 검색해서 문자열 'abc'할당. 실제로는 해당 위치에 문자열 'abc'를 직접 저장하지 않는다. 데이터를 저장하기 위한 별도의 메모리 공간을 다시 확보해서 문자열 'abc'를 저장하고, 그 주소를 변수 영역에 저장하는 식으로 이뤄짐. 변수... 자바스크립트코어자바스크립트자바스크립트 [JS] JS는 왜 그렇게 동작할까?-실행컨텍스트,호이스팅,스코프 정재남,『코어자바스크립트』를 읽고 정리한 내용입니다. 이해가 부족한 부분은 책과 동일하게 작성하였습니다. 실행 컨텍스트는 실행할 코드에 제공하 환경 정보들을 모아놓은 객체이다. 스택(Stack) : 출입구가 하나뿐인 데이터 구조, Last In-First Out 큐(Queue) : 양쪽이 모두 열려있는데이터 구조, First In-First Out 그렇다는 것은 호이스팅으로 끌어올리는데 있어... 코어자바스크립트큐실행컨텍스트스코프자바스크립트스택스코프 20211213-TIL 알고리즘 주차의 마지막문제였다. 정규식을 좀 다룰줄 알아야겠다. 문제이해하는데 시간이 너무오래걸렸다. 정규표현식과 연산자가 문자열일떄 연산을하는 방법을 검색을통해 참고하여 한 2시간 50분정도 걸려 시간내에 겨우 제출할 수있었다.. 접근 방법 문자열로 주어졌기떄문에 우선 문자열을 기준으로 배열로 나눠야겠다는생각이 들었다. 그래서 split함수를 통해 나누려헀으나, 나눠야할 문자열이 -,+,*... 함수형 자바스크립트 ES6+코어자바스크립트항해99 3기실행컨텍스트알고리즘TIL이터러블/이터레이터인프런TIL 코어자바스크립트 2장 part2 (실행 컨텍스트) 실행 컨텍스트 실행할 코드에 제공할 환경 정보들을 모아놓은 객체 ex) 전역컨텍스트, eval()함수 , 함수 등 컨텍스트 내부 구조 VariableEnvironment : 최초 실행 시의 스냅 샷을 유지 LexicalEnvironment : VariableEnvironment 을 복사 해 만들어져, 이후 주로 활용 ThisBinding VariableEnvironment와 LexicalEn... 코어자바스크립트코어자바스크립트 [코어자바스크립트]콜백 함수 알아보기 콜백함수를 넘겨받은 코드는 콜백 함수를 필요에 따라 적절한 시점에 시행한다. 이처럼 콜백 함수는 다른 코드에게 인자로 넘겨줌으로써 그 제어권도 함께 위임한 함수이다. 콜백 함수를 위임받은 코드는 자체적인 내부 로직에 의해 이 콜백함수를 적절한 시점에 실행할 것이다. 이렇게 콜백함수의 제어권을 넘겨받은 코드는 콜백 함수 호출 시점에 대한 제어권을 가진다. 콜백 함수도 함수이기 때문에 기본적으로... 코어자바스크립트JavaScriptJavaScript [JS] 자바스크립트의 데이터 타입 컴퓨터 용어에서 변수(variable)은 '변할 수 있는 무언가'를 뜻하는데, 여기서 무언가는 데이터를 말한다. 데이터를 저장하기 위한 별도의 메모리 공간을 다시 확보해서 "kimdaeseong"을 저장하고, 그 주소를 변수 영역에 저장한다고 한다. 이 책의 저자분께서는 해당 내용의 이해를 돕기 위해 '변수 영역'과 '데이터 영역'으로 데이터 성질을 구분해서 설명하는데, 이해에 도움이 되기 ... JavaScriptstudy코어자바스크립트JavaScript TIL 82 | 코어자바스크립트(2) this 2 상황별로 this에 값이 바인딩 되는 규칙을 깨고 별도의 대상을 바인딩 하는 방법도 있다. call 메서드는 메서드의 호출 주체인 함수를 즉시 실행하도록 하는 명령어이다. 이렇게 하면 함수가 실행되어도 this가 전역객체를 참조하는 것이 아니라 임의의 지정된 객체를 바라보게 된다. 메서드로서 호출할 때도 call 메서드를 이용하면 this가 객체가 되는 것이 아니라 지정된 객체를 바라본다!!... 코어자바스크립트thisJavaScriptTILJavaScript TIL 53 day 3장 This this는 실행 컨텍스트가 생성될 때 함께 결정 => 함수를 호출 할 때!! 메서드로 호출 : 함수 앞에 (.)이나 []가 있을 경우 메서드 내부의 this 메서드 내부 함수의 this 우회 방법 화살표 함수(ES6 추가) 콜배 함수 호출 시 해당 함수 내부에서의 this 콜백함수도 함수 3)의 경우 html 엘리먼트에 'click'이벤트 => 콜백함수의 첫번째 인자로 삼아 함수 실행 => ... this코어자바스크립트this 코어자바스크립트 5장 part2 ( 클로저 : 정보은닉 ) 클로저가 발생하는 경우 return에 의해서 setInterval/setTimeout eventListener 클로저의 메모리 해제 방법 함수 참조를 끊음 식별자 = null 형태로 한다. 클로저의 활용 사례 콜백함수 내부에서 외부 데이터를 사용하고자 할때 접근 권한 제어(정보 은닉) 생성자 함수를 통해 객체 만들기 생성자 함수를 통해 obj라는 객체를 생성한 것을 알 수 있다. 위의 코드를... 코어자바스크립트코어자바스크립트 (코어자바스크립트) 3. this - class 맛보기. Javascript에서 대부분 가장 난해하다는 생각을 갖는 개념이라고 책에도 쓰여 있는 것 같습니다. this 바인딩에 대한 이슈를 경험할 일이 없는 저와 같은 초보가 해당 상황에 대해 마주했을 때, 검색을 통해 해결하는게 가장 최선인 것 같습니다. 짧게나마 개념을 이해하자면, this 가 나타내는 것은 해당 실행 컨텍스트(현재는 대부분 함수로 이해하시면 됩니다.) 내부에 존재하는 envir... 코어자바스크립트JavaScriptJavaScript TIL] JavaScript-Closure(코어 자바스크립트) 클로저(Closure)는 내부함수가 외부함수의 맥락(Context)에 접근할 수 있는것으로 어떤 함수 A에서 선언한 변수 A를 참조하는 내부함수 b를 외부로 전달한 경우, A의 실행 컨텍스트가 종료된 이후에도 변수 a가 사라지지 않는 현상을 말한다. 내부함수는 외부함수의 지역변수에 접근할 수 있다. 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근할 수 있... 코어자바스크립트closureJavaScriptTILJavaScript 코어 자바스크립트05클로저 어떤 함수 A에서 선언한 변수 a를 참조하는 내부함수 B를 외부로 전달할 경우 A의 실행 컨텍스트가 종료된 이후에도 변수 a가 사라지지 않는 현상이다. 만약 함수 B가 아닌 결과인 B()를 return했다면 B 변수의 값들은 언젠가 가비지 컬렉터에 의해 소멸했을 것이다. 꼭 return이 아니더라도, 지역변수를 참조하는 내부함수를 외부에 전달하면 클로저가 된다. 콜백 함수 내부에서 외부 데이... 코어자바스크립트클로저코어자바스크립트 CoreJavaScript Chapter 5. [Closure] 요번 챕터는 Closure 에 대해서 확인해보려 한다 ! 어떤 컨텍스트 A에서 선언한 내부함수 B의 실행 컨텍스트가 활성화된 시점에는 B의 OE가 참조하는 대상인 A의 LE에도 접근이 가능했다! 하지만 우리는 내부함수 B가 A의 LE를 언제나 사용하는 것은 아니라는걸 알아야 한다. 어떤 함수에서 선언한 변수를 참조하는 내부함수에서만 발생하는 현상이라고 할 수 있다. 또한 위의 의미는 외부 함... 코어자바스크립트JavaScriptJavaScript 코어 자바스크립트 #7 클래스 클래스의 일반적인 개념은 공통 속성의 정의라고 할 수 있습니다. 이처럼 하위 클래스는 상위 클래스의 속성을 상속하며 점차 구체적인 요건이 추가 또는 변경됩니다. 일반적으로 프로토타입 기반의 언어는 클래스의 개념이 없다고 하지만 프로토타입 체이닝을 통해 상위 프로토타입의 내용을 참조한다는 점이 클래스의 개념과 약간 비슷하게 해석할 수 있습니다. 하지만 앞서 6장에서 배웠듯이 인스턴스가 생성자 ... Chapter 07 클래스코어자바스크립트Chapter 07 클래스