[JavaScript] Scope & Execution Context #1
·
프론트엔드/JavaScript
Scope란?Scope: 각 식별자들의 유효 범위를 나타낸다Global Scope: 전역 범위Function Scope: 함수 범위Block Scope: {} 중괄호 범위 - 예를 들면 if문Lexical Scope Chain이 Scope는 각각 단방향 Linked List로 연결 되는데 이를 'Lexical Scope Chain'이라 한다.즉 각 Scope 별로 Lexical Environment가 생성되며, 이는 어디에서 정의했는지에 따라 상위 Scope가 결정된다.이를 Static Scope라고 한다.(Dynamic Scope라는 것도 있는데 현대 언어에서는 잘 사용되지 않음: 어디서 호출 & 호출된 시간 기반)만약 동일 스코프의 변수는 실행 시간이 가장 늦은 것이 있으면 해당 값이 최종 할당된다...
[JavaScript] JavaScript 기초 #2
·
프론트엔드/JavaScript
Primitive(원시)Type vs Object(객체)/Reference(참조)TypeJavaScript 변수에는 Primitive 타입과 Object 타입이 있다. Primitive Type종류: 숫자(Number, BigInt), 문자열(String), Boolean, Null, Undefined, Symbol(이때 숫자에서 Number에 2^53 미만의 숫자여야 한다.) 이 타입들은 값 자체가 Stack 영역에 저장된다.또한 이는 불변성 특징을 가지고 있어 기존 변수에 값을 변경한다면 새로운 주소에 할당해야 한다.Primitive Type 값을 다른 변수에 할당하면 독립적으로 복사되며 해당 변수르 변경해도 다른 변수에 영향이 없다. Object Type종류: 객체({}, instant 객체), 함..
[JavaScript] JavaScript 기초 #1
·
프론트엔드/JavaScript
변수JS에서 변수는 다른 언어와 크게 다르지 않다.변수 : 선언 + 식별자 + 타입 + 값 + 스코프선언(Declaration)JS에서 선언은 const, var, let이 있고 변수의 존재를 알린다. C언어와 다르게 처음부터 타입을 선언하고 시작하지 않는다.const a; //const로 변수 선언var b; //var로 변수 선언let c; //let으로 변수 선언선언 없이 값을 입력하면 전역 객체의 속성으로 추가된다.d = 10; //전역 변수식별자(Identifier)식별자는 변수 이름을 의미한다. 이때 문자, $, _로 시작 가능하며 다른 언어와 마찬가지로 숫자로 시작할 수 없다.const variable1; //식별자: variable1var $variable2; //식별자: $variable..
Meister Jung
'프론트엔드/JavaScript' 카테고리의 글 목록