일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- php
- 국비코딩
- 평일코딩
- 스프링
- 국비IT
- 코딩테스트
- 정보처리기사정리
- typescript
- spring
- ReactNative
- 자바스크립트
- VUE
- 정보처리기사
- 정보처리기사실기
- 정보처리기사실기요약
- 자스코테
- 리액트네이티브
- 오라클
- react
- 자바의정석
- 정보처리기사요약
- 타입스크립트
- CSS
- 자바스크립트 코딩테스트
- Oracle
- Java의정석
- javascript
- 정보처리기사실기정리
- 리액트
- 이안의평일코딩
- Today
- Total
목록Study (42)
이안의 평일코딩
22장 p.343 - this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수(self-referencing variable)다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다. - 함수를 호출하면 arguments 객체와 this가 암묵적으로 함수 내부에 전달된다. this가 가리키는 값, 즉 this 바인딩은 함수 호출 방식에 의해 동적으로 결정된다. p.345 - 자바스크립트의 경우 Java와 같이 this에 바인딩되는 객체는 한가지가 아니라 해당 함수 호출 방식에 따라 this에 바인딩되는 객체가 달라진다. 자바스크립트의 경우 함수 호출 방식에 의해 this에 바인딩할 어떤 객체가 동적으로 결정된다. 다시 말해, 함수..
20장 p.314 - 잠재적인 오류를 발생시키기 어려운 개발 환경을 만들기 위한 해결책으로 ES5부터 strict mode(엄격 모드)가 추가되었다. 린트 도구는 strict mode가 제한하는 오류는 물론 코딩 컨벤션을 설정 파일 형태로 정의하고 강제할 수 있기 때문에 더욱 강력한 효과를 얻을 수 있다. 따라서 strict mode보다 린트 도구의 사용을 선호한다. - strict mode를 적용하려면 전역의 선두 또는 함수 몸체의 선두에 'user strict';를 추가한다. 전역에 strict mode를 적용하는 것과 함수 단위로 strict mode를 적용하는 것은 피해야한다. 따라서 strict mode는 즉시 실행 함수로 감싼 스크립트 단위로 적용하는 것이 바람직하다. - strict mode..
p.280 - 객체의 생성 방법은 객체 리터럴, Object 생성자 함수, 생성자 함수, Object.create 메서드, 클래스(ES6)가 있다. - 프로토타입은 추상 연산 OrdinaryObjectCreate에 전달되는 인수에 의해 결정된다. 이 인수는 객체가 생성되는 시점에 객체 생성 방식에 의해 결정된다. * 객체 리터럴에 의해 생성된 객체의 프로토타입 - 객체 리터럴에 의해 생성된 객체의 프로토타입은 추상 연산 OrdinaryObjectCreate에 전달되는 프로토타입은 Object.prototype다. 즉 객체 리터럴에 의해 생성되는 객체의 프로토타입은 Object.prototype이다. p.281 객체 리터럴이 평가되면 객체는 constructor 프로퍼티와 hasOwnProperty 메서드..
18장 - 함수를 다른 변수와 동일하게 다루는 언어는 일급 함수를 가졌다고 표현하는데 일급 함수를 가진 언어에서는 변수에 할당할 수 있고 함수를 다른 함수에 매개변수로 제공하거나, 함수가 함수를 반환할 수 있다. // 변수에 할당 const foo = function() { console.log("foobar"); } foo(); // 변수를 사용해 호출 // 인자로 전달 function sayHello() { return "Hello, "; } function greeting(helloMessage, name) { console.log(helloMessage() + name); } // `sayHello`를 `greeting` 함수에 인자로 전달 greeting(sayHello, "JavaScript!..
16 p220. - 모든 객체는 [[Prototype]]이라는 내부 슬롯을 갖는다. 내부 슬롯은 자바스크립트 엔진의 내부 로직이므로 원칙적으로 직접 접근할 수 없지만 [[Prototype]] 내부 슬롯의 경우, __proto__를 통해 간접적으로 접근할 수 있다. - 자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 기본값으로 자동 정의한다. 프로퍼티의 상태란 프로퍼티의 값(value), 값의 갱신 가능 여부(writable), 열거 가능 여부(enumerable), 재정의 가능 여부(configurable)를 말한다. - 프로퍼티 어트리뷰트는 자바스크립트 엔진이 관리하는 내부 상태 값(meta-property)인 내부 슬롯 [[Value]], [[Writable]..
13 p.190 - 모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정되는데 이를 스코프라 한다. 즉, 스코프는 식별자가 유효한 범위를 말한다. 식별자 결정(identifier resolution) var x = 'global'; function foo () { var x = 'function scope'; console.log(x); } foo(); // ? console.log(x); // ? => 스코프란 자바스크립트 엔진이 식별자를 검색할 때 사용하는 규칙이라고 할 수 있다. p.193 - 코드는 전역(global)과 지역(local)으로 구분할 수 있고 변수는 자신이 선언된 위치(전역 또는 지역)에 의해..
p.155 - 함수 내부로 입력을 전달받는 변수를 매개변수(parameter), 입력을 인수(argument), 출력을 반환값(return value)라 한다. p.156 - 코드의 중복을 억제하고 재사용성을 높이는 함수는 유지보수의 편의성을 높이고 실수를 줄여 코드의 신뢰성을 높이는 효과가 있다. p.157 - 리터럴은 값을 생성하기 위한 표기법이다. 따라서 함수 리터럴도 평가되어 값을 생성하며, 이 값을 객체다. 즉, 함수는 객체다. p.160 - 자바스크립트 엔진이 코드의 문맥에 따라 동일한 함수 리터럴을 표현식이 아닌 문인 함수 선언문으로 해석하는 경우와 표현식인 문인 함수 리터럴 표현식으로 해석하는 경우가 있다. - { }이 단독으로 존재하면 자바스크립트 엔진은 { }을 블록문으로 해석하지만 {..
p124. 자바스크립트는 객체(object) 기반의 프로그래밍 언어이며,자바스크립트를 이루고 있는 거의 “모든 것”이 객체이다. 원시 타입(Primitives)을 제외한 나머지 값들(함수, 배열, 정규표현식 등)은 모두 객체이다. 단 하나의 값만 나타내는 원시 타입은 변경 불가능 한 값(immutable value)이지만 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조인 객체 타입의 값은 변경 가능한 값(mutable value)이다. p126. - 자바스크립트는 프로토타입 기반 객체지향 언어로서 클래스 기반 객체지향 언어와는 달리 다양한 개쳋 생성방법을 지원한다. (객체 리터럴, Object 생성자 함수, 생성자 함수, Object.create 메서드, 클래스(ES6)) - 객체 리터럴의 중..