목록분류 전체보기 (69)
꾸준한 개발일기
1. Math 프로퍼티 1.1 Math.PI 예제 01) 원주율 PI 반환 Math.PI; // 3.141592653589793 2. Math 메서드 2.1 Math.abs 예제 02) 절대값 반환 Math.abs(-1); // 1 Math.abs('-1'); // 1 Math.abs(''); // 0 Math.abs([]); // 0 Math.abs(null); // 0 Math.abs(undefined); // NaN Math.abs({}); // NaN Math.abs('string'); // NaN Math.abs(); // NaN 2.2 Math.round 예제 03) 소수점 이하를 반올림한 정수 반환 Math.round(1.4); // 1 Math.round(1.6); // 2 Math.rou..
1. 렉시컬 스코프(정적 스코프) 자바스크립트 엔진은 함수를 어디서 호출했는지가 아니라 함수를 어디에 정의했는지에 따라 상위 스코프를 결정함 예제3) const x = 1; function foo() { const x = 10; bar(); } function bar() { console.log(x); } foo(); // 1 bar(); // 1 foo 함수와 bar 함수는 모두 전역에서 정의된 함수이기 때문에 상위 스코프는 전역임 렉시컬 환경의 "외부 렉시컬 환경에 대한 참조"에 저장할 참조값(상위 스코프에 대한 참조)은 함수 정의가 평가되는 시점에 함수가 정의된 환경(위치)에 의해 결정됨 2. 함수 객체의 내부 슬롯 [[ Environment ]] 함수는 자신의 내부 슬롯 [[Environment]..
객체 const obj = { a: 'hello', b: 30, c: true, d: {} }; 예시로 하나의 객체를 만들었다. Object.keys() console.log(Object.keys(obj)); // ['a', 'b', 'c', 'd'] 키를 배열로 얻는 코드이다. Object.values() console.log(Object.values(obj)); // ['hello', 30, true, {…}] 값을 배열로 얻는 코드이다. filter와 map을 사용하여 json 형태의 데이터로 변환하기 const obj = { a: 'hello', b: 30, c: true, d: {} }; this.feature = []; // 새로 생성할 객체 선언 Object.keys(obj) .filter(..
실행 컨텍스트의 생성과 식별자 검색 과정 전역 객체 생성 예제5) 전역 객체는 프로토타입 체인의 일원 // Object.prototype.toString window.toString(); // '[object Window]' window.__proto__.__proto__.__proto__.__proto__ === Object.prototype; // true 전역 코드 평가 1. 전역 실행 컨텍스트 생성 전역 실행 컨텍스트를 생성하여 스택에 푸시 2. 전역 렉시컬 환경 생성 전역 렉시컬 환경을 생성하고 전역 실행 컨텍스트에 바인딩 2.1 전역 환경 레코드 생성 전역 환경 레코드의 객체 환경 레코드와 선언적 환경 레코드는 서로 협력하여 전역 스코프와 전역 객체(전역 변수의 전역 객체 프로퍼티화)를 관리 ..
함수란?(1) https://dev-h2.tistory.com/82 Javascript:: 함수란?(1) 함수란? // 함수 정의 function add(x, y) { // 함수이름: add, 매개변수: x, y return x = y; // 반환값 } // 함수 호출 add(2, 5); // 인수: 2, 5 // 반환값: 7 일련의 과정을 문(statement)으로 구현하고 코드.. dev-h2.tistory.com 함수 호출 매개변수와 인수 // 함수 선언문 function add(x, y) { return x + y; } // 함수 호출 // 인수 1과 2가 매개변수 x와 y에 순서대로 할당되고 함수 몸체의 문들이 실행됨 var result = add(1, 2); 함수를 실행하기 위해 필요한 값을 ..