본문 바로가기

Languages/JavaScript

(5)
[JavaScript 101] 자바스크립트 스코프 본 글은 '모던 자바스크립트 Deep Dive' 를 참고하여 작성된 글입니다. 함수 정의 - 스코프는 식별자가 유효한 범위를 말한다. - 이름이 같은 변수 중에 어떤 변수를 참조해야 할지 결정하는 것을 식별자 결정 (identifier resolution)이라 한다. - 코드는 전역(global)과 지역(local)로 구분됨. - 스코프가 함수 중첨에 의해 계층적으로 연결된 것을 스코프 체인이라 한다. - 상위 스코프에서 유효한 변수를 하위 스코프에서는 자유롭게 참조할 수 있지만 그 반대는 안됨. 전역 변수 - 지역 변수의 생명 주기는 함수의 생명 주기와 일치한다. - 호이스팅은 스코프를 단위로 동작한다. - var 키워드로 선언한 전역 변수의 생명 주기는 전역 객체의 생명 주기와 일치한다. - 변수의 ..
[JavaScript 101] 자바스크립트 함수 본 글은 '모던 자바스크립트 Deep Dive' 를 참고하여 작성된 글입니다. 함수 정의 // 함수 선언문 function add(x, y) { return x + y; } // 함수 표현식 var add = function (x, y) { return x + y; }; // 생성자 함수 var add = new Function('x', 'y', 'return x + y'); // 화살표 함수 var add = (x, y) => x + y; 자바스크립트 함수의 특징 - 자바스크립트에서 함수는 일급 객체다. (함수를 값처럼 자유롭게 사용할 수 있다.) - 함수 호이스팅(function hoisting)으로 인해 런타임 이전에 선언부가 먼저 처리된다. - 함수의 매개변수를 통해 다른 함수의 내부로 전달되는 ..
[JavaScript 101] 자바스크립트 객체 본 글은 '모던 자바스크립트 Deep Dive' 를 참고하여 작성된 글입니다. 객체 - 객체는 변경 불가능한(immutable)한 원시 값과 다르게 변경 가능한 값(mutable value) 이다. - 객체는 0개 이상의 프로퍼티로 구성된 집합이며 프로퍼티는 key와 value로 구성된다. - 프로퍼티의 값이 함수일 경우 method라고 부른다. - 프로퍼티 키가 식별자 네이밍 규칙을 따르지 않을 경우 따옴표를 사용해야 한다. - 프로퍼티 키에 문자열이나 심벌 값 외의 값을 사용하면 암무적 타입 변환을 통해 문자열이 된다. - 객체에 존재하지 않는 프로퍼티에 접근하면 ReferenceError를 발생시키지 않고 undefeined를 반환한다. - delete 키워드를 통해 프로퍼티를 삭제할 수 있다. E..
[JavaScript 101] 자바스크립트 기본 문법 본 글은 '모던 자바스크립트 Deep Dive' 를 참고하여 작성된 글입니다. 변수 호이스팅 (hoisting) - 변수 선언이 마치 코드의 처음 부분에 끌어 올려진 것처럼 동작하는 자바스크립트의 특징을 변수 호이스팅 (variable hoisting)이라고 함. - 런타임 이전에 소스코드의 평가 과정을 거치면서 모든 선언문(변수, 함수 등..) 을 먼저 실행함. - 즉, 아래와 같이 코드를 작성해도 Reference Error가 발생하지 않고 undefined가 잘 출력됨. console.log(result); var result; - 하지만 값의 할당은 런타임에 실행됨 - 고로, 아래의 코드 역시 undefined가 출력됨 console.log(result); var result = 100; var ..
[JavaScript 101] 자바스크립트 배경지식 본 글은 '모던 자바스크립트 Deep Dive' 를 참고하여 작성된 글입니다. ECMAScript - 크로스 브라우징 이슈 : 브라우저에 따라 웹페이지가 정상적으로 동작하지 않는 문제 - ECMAScript는 크로스 브라우징 이슈를 해결하기 위한 표준 사양 - ES1, ES2 등의 버전들이 있음. (2022년 6월 13버전 출시) - 참조 (https://www.ecma-international.org/publications-and-standards/standards/ecma-262/) 자바스크립트와 ECMAScript - 각 브라우저 제조사는 ECMAScript 사양을 준수해서 브라우저에 내장되는 자바스크립트 엔진을 구현한다. - 자바스크립트는 일반적으로 ECMAScript와 브라우저가 별도 지원하는 ..

반응형