본문 바로가기
반응형

Frontend34

스코프 (모던 자바스크립트 Deep Dive) 스코프란? 모든 프로그래밍 언어에서 중요한 개념이다. var과 let, const로 선언한 스코프는 다르게 동작한다. 함수의 매개변수는 함수 내부에서만 참조 가능하며 외부에서는 참조할 수 없다. 매개변수의 스코프는 함수 내부이기 때문이다. 스코프는 식별자가 유효한 범위이다. var x = 'global'; function foo() { var x = 'local'; console.log(x); // local } foo(); console.log(x); // global 함수 외부와 내부에서 같은 이름으로 선언된 변수가 있지만 참조할 때 자바스크립트 엔진은 두 개의 변수 중 어떤 변수를 참조해야할지 결정한다. 이는 스코프에 따라 정해진다. 스코프 개념이 없다면 같은 이름을 갖는 변수는 프로그램 내에서 충.. 2024. 4. 16.
함수 (모던 자바스크립트 Deep Dive) 12.1 함수란? 입력을 받아 출력을 내보내는 일련의 과정 // 함수 정의 function add(x, y) { // x, y :매개변수 return x + y; // 반환값 }; // 함수 호출 add(2, 5); // 2, 5: 인수 12.2 함수를 사용하는 이유 코드 재사용 가능 ! 내부 코드를 보지 않고도 식별자를 보고 함수의 역할을 파악할 수 있게 해야한다. 12.3 함수 리터럴 함수는 객체다. 그러나 일반 객체는 호출할 수 없지만 함수는 호출이 가능하다. 함수 이름은 생략할 수 있다. 기명 함수와 익명 함수가 존재 익명 함수 : 이름이 없는 것이 아닌 함수 이름 대신 변수에 함수를 대입한 방식이다. let anonymousFunc = function() { console.log('this fu.. 2024. 4. 16.
원시 값과 객체의 비교 (모던 자바스크립트 Deep Dive) 11.1 원시 값 11.1.1 변경 불가능한 값 변경 불가능한 값 원시 값 자체를 변경하지 못한다는 말 원시 값을 변경 불가능하다는 말은 메모리 관점에서 접근해야 이해가 쉽다. 원시 값은 변경 불가능하기 때문에 변수에 값 재할당 시 기존 메모리 공간이 아닌 새로운 메모리 공간을 확보하여 저장하는 것이다. 변수의 값을 변경 불가능한 것은 상수이다. → 재할당 금지! 11.1.2 문자열과 불변성 문자열 타입 - 2바이트 문자 하나당 2바이트, 문자의 개수에 따라 확보하는 메모리 공간이 달라짐 숫자 타입 - 8바이트 숫자의 크기에 따라 관계없이 8바이트 사용 이외 원시 타입은 브라우저 제조사의 구현에 따라 크기가 다를 수 있다. 자바스크립트는 문자열의 형태로 데이터를 저장한다. 문자열 타입의 변수에 다른 문자.. 2024. 4. 16.
객체 리터럴 (모던 자바스크립트 Deep Dive) 10.1 객체란? 자바스크립트는 객체 기반의 프로그래밍 언어 원시 값을 제외하고는 모두 객체이다. 객체 프로퍼티의 집합 ❓ 일반 함수? 메서드? 함수는 메서드를 포함한다. 함수가 객체의 프로퍼티로 저장되면 그것은 메서드이다. → 메서드는 객체가 없으면 없는 것 함수는 객체와 관계없이 독립적이다. 메서드는 객체에 종속적이다. 메서드를 수행하려면 반드시 객체를 통해서 수행하여야 한다. 메서드 동작의 주체는 해당 객체. 자바스크립트에서의 객체? 자바스크립트 내장 객체 : Built-in Object Global, Object, String, Number, Boolean, Data, Array, Math, RegExp, Error 등 브라우저 내장 객체 : Native Object 자바스크립트 엔진이 빌드될 때.. 2024. 4. 16.
728x90
반응형