Frontend/JavaScript30 [JS DeepDive] 14. 실행 컨텍스트 [23장 실행 컨텍스트] 1. 소스코드의 타입 소스코드 타입설명전역코드전역에 존재하는 소스코드. 전역에 정의된 함수, 클래스 등의 내부 코드는 포함되지 않음함수코드함수 내부에 존재하는 소스코드. 함수 내부에 중첩된 함수, 클래스 등의 내부 코드는 포함되지 않음eval 코드빌트인 전역 함수인 eval 함수에 인수로 전달되어 실행되는 소스코드모듈코드모듈 내부에 존재하는 소스코드. 모듈 내부의ㅏ 함수, 클래스 등의 내부 코드는 포함되지 않음전역 코드전역 코드는 전역 변수를 관리하기 위해 최상위 스코프인 전역 스코프를 생성해야 한다. 그리고 var 키워드로 선언된 전역 변수와 함수 선언문으로 정의된 전역 함수를 전역 객체의 프로퍼티와 메서드로 바인딩하고참조하기 위해 전역 객체와 연결되어야 한다. 이를 위해 전역.. 2025. 5. 27. [JS DeepDive] 13. 배열 메서드 정리 [27장 배열] element. -->8. 배열 메서드원본 배열 : 배열 메서드를 호출한 배열 → 배열 메서드의 구현체 내부에서 this가 가리키는 객체원본 배열을 직접 변경하는 메서드 (mutator method)원본 배열을 직접 변경하지 않고 새로운 배열을 생성하여 반환하는 메서드 (accessor method)메서드설명isArray전달된 인수가 배열인지 확인하여 true/false 반환indexOf인수로 전달된 요소를 검색하여 인덱스 반환 (없으면 -1 반환)push원본 배열의 마지막 요소를 추가하고 새로운 length 반환pop원본 배열에서 마지막 요소를 제거하고 제거한 요소를 반환 (후입선출) unshift 인수로 전달받은 모든 값을 원본 배열의 선두에 요소로 추가하고 변경된 length 반환s.. 2025. 5. 27. [JS DeepDive] 13. 배열 [27장 배열]1. 배열이란?배열 : 여러 개의 값을 순차적으로 나열한 구조const arr = ["apple", "banana", "orange"];요소 : 배열이 갖고 있는 값인덱스 : 배열에서 자신의 위치를 나타내는 0이상의 정수// 요소에 접근하는 방법arr[0]; //applearr[1]; //banana// 요소의 개수arr.length; //3// 배열의 순회for (let i = 0; i 구분객체배열구조프로퍼티 키와 프로퍼티 값인덱스와 요소값의 참조프로퍼티 키인덱스값의 순서XOlength 프로퍼티XO2. 자바스크립트 배열은 배열이 아니다자료구조의 배열 : 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료구조 (밀집배열) 따라서 인덱스를 통해 단 한 번의 연산으로 임의의 요소에 접.. 2025. 5. 21. [JS DeepDive] 12. let, const 키워드와 블록 레벨 스코프 element. -->[15장 let,const 키워드와 블록레벨 스코프]1. var 키워드로 선언한 변수의 문제점1) 변수 중복 선언 허용var x = 1;var x = 2; // 중복 선언 허용console.log(x);var y = 1;var y; // 초기화문이 없는 변수 선언문은 무시된다console.log(y);→동일한 이름의 변수가 이미 선언되어 있는 것을 모르고 변수를 중복 선언하면서 값까지 할당했다면 의도치 않게 먼저 선언된 값이 변경되는 부작용 발생2) 함수 레벨 스코프var 키워드로 선언한 변수는 오로지 함수의 코드 블록만을 지역 스코프로 인정한다.var x = 1;if (true) { var x = 2; // 전역변수 x를 가리킴}console.log(x);함수 레벨 스코프는 전역.. 2025. 5. 21. [JS DeepDive] 11. 전역변수의 문제점 element. -->[14장 전역변수의 문제점]1. 변수의 생명주기1) 지역 변수의 생명 주기변수는 선언에 의해 생성되고 할당을 통해 값을 갖는다. 그리고 언젠간 소멸하는 생명주기를 갖는다.지역변수의 생명주기 = 함수의 생명주기var x = "global";function foo() { console.log(x); //undefined var x = "local";}foo();console.log(x); //global호이스팅은 스코프 단위로 동작한다.호이스팅은 변수 선언이 스코프의 선두로 끌어 올려진 것처러머 동작하는 자바스크립트 고유의 특징을 말한다.2) 전역 변수의 생명주기전역 코드는 함수 호출과 같이 전역 코드를 실행하는 특별한 진입점이 없고 코드가 로드되자마자 곧바로 해석되고 실행된다.전역.. 2025. 4. 23. [JS DeepDive] 10. 스코프 [13장 스코프] 1. 스코프란? 스코프는 매개변수를 참조할 수 있는 유효범위를 말한다.function add(x, y) { // 매개변수는 함수 몸체 내부에서만 참조할 수 있음 // 매개 변수는 스코프(유효범위)는 함수 몸체 내부다 console.log(x, y); return x + y;}add(2, 5);// 매개변수는 함수 몸체 내부에서만 참조할 수 있음console.log(x, y);변수는 자신이 선언된 위치에 의해 자신이 유효한 범위. 다른 코드가 변수 자신을 참조할 수 있는 범위가 결정된다.모든 식별자(변수명, 함수명, 클래스명 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다. → 스코프 (식별자가 유효한 범위)var var1 = 1;.. 2025. 4. 23. 이전 1 2 3 4 5 다음