JavaScript
-
값 값은 식이 평가 되어 생성된 결과를 말한다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이다. 따라서 변수에 할당되는 것은 값이다. 리터럴 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다. 리터럴은 값을 생성하기 위해 미리 약속한 표기법이라 할 수 있다. 표현식 표현식은 값으로 평가 될 수 있는 문(statement)이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참고한다. 값으로 평가될 수 있는 문은 모두 표현식이다. 문 문(statement)은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다. 문은 여러 토큰으로 구성된다. 토큰이란 문법적인 의미를 가지며 문법적으로 더..
[모던자바스크립트] 5.표현식과 문값 값은 식이 평가 되어 생성된 결과를 말한다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이다. 따라서 변수에 할당되는 것은 값이다. 리터럴 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다. 리터럴은 값을 생성하기 위해 미리 약속한 표기법이라 할 수 있다. 표현식 표현식은 값으로 평가 될 수 있는 문(statement)이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참고한다. 값으로 평가될 수 있는 문은 모두 표현식이다. 문 문(statement)은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다. 문은 여러 토큰으로 구성된다. 토큰이란 문법적인 의미를 가지며 문법적으로 더..
2023.04.24 -
변수란 무엇인가? 왜 필요한가? 변수란 ? 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름, 값의 위치를 가리키는 상징적인 이름. 메모리 메모리 셀 하나의 크기는 1바이트(=8비트)이며, 컴퓨터는 메모리 셀의 크기, 즉 1바이트 단위로 데이터를 저장하거나 읽어들인다. 각 셀은 고유한 메모리 주소를 갖는다. 프로그래밍 언어는 기억하고 싶은 값을 메모리에 저장하고, 저장된 값을 읽어들여 재사용하기 위해 변수라는 메커니즘을 사용한다. 개발자가 직접 메모리 주소를 통해 값을 저장하고 참조할 필요가 없고 변수를 통해 안전하게 값에 접근 할 수 있다. (만약 개발자가 직접 메모리 주소를 통해 값에 접근하게 된다면,시스템을 멈추게하는 치명적인 오류를 범할 가능성이 ..
[모던자바스크립트] 4. 변수변수란 무엇인가? 왜 필요한가? 변수란 ? 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름, 값의 위치를 가리키는 상징적인 이름. 메모리 메모리 셀 하나의 크기는 1바이트(=8비트)이며, 컴퓨터는 메모리 셀의 크기, 즉 1바이트 단위로 데이터를 저장하거나 읽어들인다. 각 셀은 고유한 메모리 주소를 갖는다. 프로그래밍 언어는 기억하고 싶은 값을 메모리에 저장하고, 저장된 값을 읽어들여 재사용하기 위해 변수라는 메커니즘을 사용한다. 개발자가 직접 메모리 주소를 통해 값을 저장하고 참조할 필요가 없고 변수를 통해 안전하게 값에 접근 할 수 있다. (만약 개발자가 직접 메모리 주소를 통해 값에 접근하게 된다면,시스템을 멈추게하는 치명적인 오류를 범할 가능성이 ..
2023.04.24 -
자바스크립트는 프로토타입 기반언어이다. 프로토타입 기반 언어에서는 어떤 객체를 원형으로 삼고 이를 복제함으로써 상속과 비슷한 효과를 얻는다. 프로토타입의 개념과 이해 var instance = new Constructor(); constructor(생성자 함수)를 new와 함께 호출한다. constructor에 정의된 내용을 바탕으로 새로운 인스턴스가 생성된다. 이때 instance에는 __proto__라는 프로퍼티가 자동으로 부여된다. __proto__는 constructor의 prototype(객체)이라는 프로퍼티를 참조한다. prototype은 객체다. prototype을 참조하는 __proto__도 객체이다. prototype 객체 내부에는 인스턴스가 사용할 메서드를 저장한다. 인스턴스에서도 __..
[코어자바스크립트] 프로토타입자바스크립트는 프로토타입 기반언어이다. 프로토타입 기반 언어에서는 어떤 객체를 원형으로 삼고 이를 복제함으로써 상속과 비슷한 효과를 얻는다. 프로토타입의 개념과 이해 var instance = new Constructor(); constructor(생성자 함수)를 new와 함께 호출한다. constructor에 정의된 내용을 바탕으로 새로운 인스턴스가 생성된다. 이때 instance에는 __proto__라는 프로퍼티가 자동으로 부여된다. __proto__는 constructor의 prototype(객체)이라는 프로퍼티를 참조한다. prototype은 객체다. prototype을 참조하는 __proto__도 객체이다. prototype 객체 내부에는 인스턴스가 사용할 메서드를 저장한다. 인스턴스에서도 __..
2022.12.14 -
MDN에서는 클로저를 다음과 같이 정의한다. 클로저는 함수와 그 함수가 선언될 당시의 lexical environment의 상호관계에 따른 현상 lexical environment의 enviromentRecord와 outerEnviromentReference에 의해 변수의 유효범위인 스코프가 결정되고 스코프 체인이 가능하다. function A () { function B () {} } A에서 선언한 내부함수 B의 실행컨텍스트가 활성화 된 시점에는 B의 outerEnviromentReference가 참조하는 대상인 A의 lexicalEnviroment에도 접근이 가능하다. => A에서는 B에서 선언한 변수에 접근할 수 없지만, B에서는 A에서 선언한 변수에 접근이 가능하다. var outer = func..
[코어자바스크립트] 클로저MDN에서는 클로저를 다음과 같이 정의한다. 클로저는 함수와 그 함수가 선언될 당시의 lexical environment의 상호관계에 따른 현상 lexical environment의 enviromentRecord와 outerEnviromentReference에 의해 변수의 유효범위인 스코프가 결정되고 스코프 체인이 가능하다. function A () { function B () {} } A에서 선언한 내부함수 B의 실행컨텍스트가 활성화 된 시점에는 B의 outerEnviromentReference가 참조하는 대상인 A의 lexicalEnviroment에도 접근이 가능하다. => A에서는 B에서 선언한 변수에 접근할 수 없지만, B에서는 A에서 선언한 변수에 접근이 가능하다. var outer = func..
2022.11.23 -
콜백함수? 콜백함수는 다른 코드의 인자로 넘겨주는 함수이다. 다른 코드에게 인자로 넘겨줌으로써 그 제어권도 함께 위임한다. ➡️콜백 함수의 제어권을 넘겨받은 코드는 콜백 함수를 호출할 때 인자에 어떤 값들을 어떤 순서로 넘길 것인지에 대한 제어권을 가진다. 콜백함수의 this 콜백함수도 함수이기 때문에 기본적으로는 this가 전역객체를 참조한다. 하지만 제어권을 넘겨받을 코드에서 콜백 함수에 별도로 this가 될 대상을 지정한 경우에는 그 대상을 참조한다. 콜백 함수로 어떤 객체의 메서드를 전달하더라도 그 메서는 메서드가 아닌 함수로 호출 된다. (1) this에 다른 값 바인딩 하기 - 전통적으로는 this를 다른 변수에 담아 콜백 함수로 활용할 함수에서는 this 대신 그 변수를 사용하게 하고 이를 ..
[코어 자바스크립트] 콜백함수콜백함수? 콜백함수는 다른 코드의 인자로 넘겨주는 함수이다. 다른 코드에게 인자로 넘겨줌으로써 그 제어권도 함께 위임한다. ➡️콜백 함수의 제어권을 넘겨받은 코드는 콜백 함수를 호출할 때 인자에 어떤 값들을 어떤 순서로 넘길 것인지에 대한 제어권을 가진다. 콜백함수의 this 콜백함수도 함수이기 때문에 기본적으로는 this가 전역객체를 참조한다. 하지만 제어권을 넘겨받을 코드에서 콜백 함수에 별도로 this가 될 대상을 지정한 경우에는 그 대상을 참조한다. 콜백 함수로 어떤 객체의 메서드를 전달하더라도 그 메서는 메서드가 아닌 함수로 호출 된다. (1) this에 다른 값 바인딩 하기 - 전통적으로는 this를 다른 변수에 담아 콜백 함수로 활용할 함수에서는 this 대신 그 변수를 사용하게 하고 이를 ..
2022.11.21 -
Javascript에서 this 기본적으로 실행 컨텍스트가 생성될 때 함께 결정된다. = this는 함수를 호출할 때 결정된다. 즉, 함수를 어떤 방식으로 호출하냐에 따라 값이 달라진다. 1-1. 전역공간에서의 this 전역공간에서 this는 전역객체를 가르킨다. ( 전역 컨텍스트를 생성하는 주체가 바로 전역 객체이기 때문) 브라우저에서는 window, Node.js에서는 global 이다. 전역변수를 선언하면 자바스크립트 엔진은 이를 전역객체의 프로퍼티로 할당한다. 하지만 삭제명령의 경우 전역변수 선언과 전역객체의 프로퍼티 할당 사이 차이가 존재한다. var b = 2; delete b; //false console.log(b, window.b, this.b); //2 2 2 window.c = 3; ..
[코어자바스크립트] thisJavascript에서 this 기본적으로 실행 컨텍스트가 생성될 때 함께 결정된다. = this는 함수를 호출할 때 결정된다. 즉, 함수를 어떤 방식으로 호출하냐에 따라 값이 달라진다. 1-1. 전역공간에서의 this 전역공간에서 this는 전역객체를 가르킨다. ( 전역 컨텍스트를 생성하는 주체가 바로 전역 객체이기 때문) 브라우저에서는 window, Node.js에서는 global 이다. 전역변수를 선언하면 자바스크립트 엔진은 이를 전역객체의 프로퍼티로 할당한다. 하지만 삭제명령의 경우 전역변수 선언과 전역객체의 프로퍼티 할당 사이 차이가 존재한다. var b = 2; delete b; //false console.log(b, window.b, this.b); //2 2 2 window.c = 3; ..
2022.11.16