CS/모던 자바스크립트 Deep Dive (41) 썸네일형 리스트형 19장 프로토타입(3) 2023년 4월 7일 209p~312p 19장 프로토타입 19.11 직접상속 19.11.1 Object.create에 의한 직접 상속 Object.create 메서드는 명시적으로 프로토타입을 지정하여 새로운 객체를 생성한다. Object.create 메서드도 다른 객체 생성 방식과 마찬가지로 추상 연산 OrdinaryObjectCreate를 호출한다. Object.create의 첫번째 매개변수에는 생성할 객체의 프로토타입으로 지정할 객체를 전달하고, 두번째 매개변수에는 생성할 객체의 프로퍼티 키와 프로퍼티 디스크립터 객체로 이루어진 객체를 전달하며 이것은 옵션이다. // 프로토타입이 null인 객체를 생성한다. 생성된 객체는 프로토타입 체인의 종점에 위치한다. // obj -> null let obj =.. 19장 프로토타입(2) 2023년 4월 6일 280p~299p 19장 프로토타입 19.6 객체 생성 방식과 프로토타입의 결정 객체는 다음과 같이 다양한 생성 방법이 있다. 객체 리터럴, Object 생성자 함수, 생성자 함수... 다양한 방식으로 생성된 모든 객체는 각 방식마다 세부적인 객체 생성 방식의 차이는 있지만 추상 연산 OrdinaryObjectCreate에 의해 생성된다는 공통점이 있다. OrdinaryObjectCreate는 필수적으로 자신이 생성할 객체의 프로토타입을 인수로 전달 받고, 자신이 생성할 객체에 추가할 프로퍼티 목록을 옵션으로 전달할 수 있다. 먼저 빈 객체 생성 후 객체에 추가할 프로퍼티 목록이 인수로 전달되면 프로퍼티를 객체에 추가하고, 인수로 전달받은 프로토타입을 자신이 생성한 객체의 [[pro.. 19장 프로토타입(1) 2023년 4월 5일 259p ~ 279p 19장 프로토타입 19. 1 객체지향 프로그래밍 자바스크립트는 강력한 객체지향 프로그래밍 능력을 지니고 있는 프로토타입 기반의 객체 지향 프로그래밍 언어이다. 자바스크립트를 이루고 있는 거의 모든 것이 객체다. 객체지향 프로그래밍은 실세계의 실체를 인식하는 철학적 사고를 프로그래밍에 접목하려는 시도에서 시작한다. 실체는 특징이나 성질을 나타내는 속성을 가지고 있다. 다양한 속성 중에서 프로그램에 필요한 속성만 간추려 내어 표현하는 것을 추상화라고 한다. const person = { name: "lee", address: "Seoul" } console.log(person) // {name:"lee", address: "Seoul"} 객체란 상태 데이터인 프로퍼.. 11장 원시값과 객체의 비교 / 12장 함수 22.11.28 월요일 140p~150p 11장 원시값과 객체의 비교 || 원시값 문자열과 불변성 원시 값을 저장하려면 먼저 확보해야하는 메모리 공간의 크기를 결정해야 한다. 이를 위해 원시 타입별로 메모리 공간의 크기가 미리 정해져있다. 원시 값인 문자열은 다른 원시 값과 비교할 때 독특한 특징이 있따. 문자열은 0개 이상의 문자로 이뤄진 집합을 말하며, 1개의 문자는 2바이트의 메모리 공간에 저장된다. 숫자 값은 모두 동일한 8바이트가 필요하지만, 문자열의 경우 몇 개의 문자로 이뤄졌느냐에 따라 필요한 메모리 공간의 크기가 결정된다. C에서는 하나의 문자를 위한 데이터 타입만 있을 뿐 문자열 타입은 존재하지 않는다. C에서는 문자열을 문자의 배열로 처리하고 자바에서는 문자열을 String 객체로 처리.. 9장 타입 변환과 단축평가 / 10장 객체 리터럴 / 11장 원시값과 객체 비교 22.11.21 월요일 108p~118p 09장 타입 변환과 단축 평가 || 타입 암묵적 타입 변환(타입 강제 변환) 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는 것 ex) 10 + ‘’ 문자열 타입으로 변환 자바스크립트 엔진은 문자열 연결 연산자 표현식을 평가하기 위해 문자열 연결 연산자의 피연산자 중 문자열 타입이 아닌 피연산자를 문자열 타입으로 암묵적 타입 변환한다. ex) 1 + ‘2’ // ‘12’ 템플릿 리터럴의 표현식 삽입은 표현식 평가 결과를 문자열 타입으로 암묵적 타입 변환 한다. ex) 1 + 1 = ${1 + 1} // “1+1 = 2” 숫자 타입으로 변환 자바스크립트 엔진은 문자열 연결 연산자 표현식을 평가하기 위해 문.. 7장 연산자 / 8장 제어문 22.11.14 월요일 74p~83p 07장 연산자 산술연산자 : 이항 산술 연산자 산술 연산이 불가능한 경우, NaN을 반환한다. 숫자 타입이 아닌 피연산자에 + 단항 연산자를 사용하면 피연산자를 숫자 타입으로 변환하여 반환한다. let x = '1'; console.log(+x); // 1 산술연산자 : 문자열 산술 연산자 연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작한다. true : 1, false : 0, null : 0 으로 타입 변환된다. 1 + true; // 2 1 + false // 1 1 + null // 1 이를 암묵적 타입 변환 또는 강제 타입 변환이라고 한다. 비교 연산자 : 동등/일치 비교 연산자 NaN === NaN; // false NaN은 자신.. 4장 변수 / 5장 표현식과 문 / 6장 데이터 타입 22.11.07 월요일 39p~49p 04장 변수 변수 호이스팅 변수 선언은 소스코드가 한 줄씩 순차적으로 실행되는 시점, 즉 런타임이 아니라 그 이전 단계에서 먼저 실행된다. 자바스크립트 엔진은 변수 선언을 포함한 모든 선언문(변수/함수 선언문)을 소스코드에서 찾아 먼저 실행한다. 그리고 소스코드의 평가 과정이 끝나면 비로소 변수 선언을 포함한 모든 선언문을 제외하고 소스코드를 한 줄씩 순차적으로 실행한다. 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징을 변수 호이스팅이라 한다. 값의 할당 변수 선언은 소스코드가 순차적으로 실행되는 시점인 런타임 이전에 먼저 실행되지만 값의 할당은 소스코드가 순차적으로 실행되는 시점인 런타임에 실행된다. 가비지 콜렉터 애플리케이션이 .. 1장 프로그래밍 / 03장 자바스크립트 개발 환경과 실행 방법 22.10.31 월요일 1p~16p 01장 프로그래밍 프로그래밍 언어가 제공하는 문법을 적절히 사용하여 변수를 통해 값을 저장하고 참조하며 연산자로 값을 연산, 평가하고 조건문과 반복문에 의한 흐름제어로 코드의 실행 순어를 제어하고 함수로 재사용 가능한 문의 집합을 만들며 객체, 배열 등으로 자료를 구조화한다. 결국 프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것이다. 02장 자바스크립트란? 자바스크립트 성장의 역사 렌더링 HTML, CSS, 자바스크립트로 작성된 문서를 해석해서 브라우저에 시각적으로 출력하는 것을 말한다. Ajax 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능이다. 웹 페이지에서 변.. 이전 1 2 3 4 5 6 다음