일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- silent printing
- github 100mb
- ffi-napi
- augmentedDevice
- camera permission
- camera access
- Git
- npm package
- adb pair
- 티스토리 성능
- vercel git lfs
- dvh
- github pdf
- react-native-dotenv
- Each child in a list should have a unique "key" prop.
- 이미지 데이터 타입
- Can't resolve
- custom printing
- adb connect
- Recoil
- nextjs
- device in use
- html
- github lfs
- electron-packager
- animation
- react-native
- ELECTRON
- rolldown
- Failed to compiled
- Today
- Total
목록전체 글 (337)
Bleeding edge
25장 클래스 25.1 클래스는 프로토타입의 문법적 설탕인가? 클래스와 생성자 함수는 모두 프로토타입 기반의 인스턴스를 생성하지만 정확히 동일하게 동작하지는 안흔다. 클래스는 생성자 함수 보다 엄격하며, 생성자 함수에서는 제공하지 않는 기능도 제공한다. 클래스는 new 연산자 없이 호출하면 에러가 발생한다 클래스는 extends와 super 키워드를 지원한다 클래스는 호이스팅이 발생하지 않는 것처럼 동작한다. 클래스 내의 모든 코드는 strict mode가 지정되어 실행된다. 클래스의 constructor, 프로토타입 메서드, 정적 메서드는 모두 프로퍼티 어트리뷰트 [[Enumerable]]의 값이 false이다.(열거가 불가능하다) 클래스는 생성자 함수 기반 객체보다 견고하고 명료하다. 특히 클래스의 ..
실행 컨텍스트 1. 소스코드의 타입 소스코드는 실행컨텍스트를 생성한다. 소스코드는 ECMAScript 사양으로 4가지로 구분한다 [전역 코드, 함수 코드, eval 코드, 모듈 코드] 소스코드의 타입에 따라 실행 컥텍스트를 생성하는 과정과 관리 내용이 다르다. | 전역 코드 | 전역 스코프(최상위 스코프)를 생성한다(전역 변수, 전역 함수 관리를 위해). 전역변수(var), 전역함수(함수 선언문)를 전역 객체의 프로퍼티와 메서드로 바인딩하고 전역 객체와 연결한다 전역 코드가 평가되면 전역 실행 컨텍스트가 생성된다 | | --- | --- | | 함수 코드 | 지역 스코프를 생성한다(매개변수, arguments 객체 관리를 위해) 지역 스코프를 전역 스코프에서 시작하는 스코프 체인의 일원으로 연결한다 함수..
22장 this 22.1 this 키워드 객체는 상태(프로퍼티)와 동작(메서드)를 하나의 논리적인 단위로 묶은 복합적인 자료구조다. 동작을 나타나는 메서드는 자신이 속한 객체를 가리키는 식별자를 참조할 수 있어야 한다. this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다 this는 자바스크립트 엔진에 의해 암묵적으로 생성되며, 코드 어디서든 참조할 수 있다. 함수를 호출하면 arguments 객체와 this와 암묵적으로 함수 내부에 전달된다. this가 가리키는 값, 즉 this 바인딩은 함수 호출 방식에 의해 동적으로 결정된다. 바인딩이란 식별자의 값을 연결하는 과정을..
19.13 프로퍼티 존재 확인 19.13.1. in 연산자 const obj ={ key : 'value' } console.log( 'key' in obj, //obj객체에 key 프로퍼티가 존재한다 true 'key1' in obj //obj객체에 key1 프로퍼티가 존재한다 false 'toString' in obj //true Reflect.has(obj, 'key') //true. Reflect.has는 in과 같게 동작한다 /* toString 같은 경우 obj가 가지고 있지는 않지만 obj의 프로토타입 체인에 toString 프로퍼티를 가지고 있기 때문이다. toString은 Object.prototype 메서드이다 */ ) 19.13.2 Object.prototype.hasOwnProper..
19장 프로토 타입 19.1 객체지향 프로그래밍 명령어 또는 함수의 목록으로 보는 전통적인 명령형 프로그래밍을 벗어나 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임을 말한다. 객체지향 프로그래밍은 실세계의 실체를 인식하는 철학적 사고를 프로그래밍에 접목하려는 시도에서 시작한다. 사람에게는 다양한 속성이 있으나 우리가 구현하려는 프로그램에서는 사람의 이름과 주소라는 속성에만 관심이 있다고 가정하자. 이처럼 다양한 속성에서 프로그램에 필요한 속성만 간추려 내어 표현하려는 것을 추상화라고 한다. 속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적인 자료구조를 객체라한다. 객체지향 프로그래밍은 객체의 **상태를 나타내는 데이터(프로퍼티)**와 상태데이터를 조작할 수 있는 동작(메서드)을 하나의 ..
16장 내부 슬롯과 내부 매서드 16.1 내부 슬롯과 내부 메서드 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기위해 사용하는 의사 프로퍼티와 메서드이다. 예시 ([[…]]) 원칙 : 내부 슬롯과 내부 메서드는, 개발자가 직접 접근할 수 있도록 공개된 객체 프로퍼티는 아니다. 단, 일부 내부 슬롯과 내부 매서드에 한하여 직접적으로 접근할 수 있는 수단을 제공하기는 한다. 내부 슬롯은 원칙적으로 접근할 수 없지만, [[ProtoType]] 내부 슬롯의 경우, proto 를 통해 간접적으로 접근할 수 있다 const o = {}; o.[[Prototype]]; o.__proto__ //Object.prototype 16.2 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체 자바스크립트 엔..
13장 스코프 13.1 스코프란? var 키워드로 선언한 변수와 let, const키워드로 선언한 변수의 스코프는 다르게 동작한다. 스코프는 변수 그리고 함수와 깊은 관련이 있다. 스코프는 코드의 가장 바깥 코드 블록내 중첩된 코드 블록 내에서 선언한 함수 내에서 선언한 변수 중첩된 함수 내에서 선언한 변수 모든 식별자는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효범위가 정해진다. 즉 스코프는 식별자가 유효한 범위를 말한다. 스코프란, 식별자를 검색할 때 사용하는 규칙 주변에 어떤 코드가 있는지를 렉시컬 환경이라고 부르며, 코드의 문맥은 렉시컬 환경으로 이루어지며, 이를 구현한 것이 실행 컨텍스트이며, 모든 코드는 실행 컨텍스트에 의해 평가되고 실행된다. 스코프는 네임 스페..
딥다이브 공부 12장 함수 12.1 함수란? 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. function functionName(var){ //함수 정의 return outputV } functionName(inpntV)//함수 호출 var(전달받은 변수) : 매개 변수 inputV(입력) : 인수 outputV(출력) : 반환 값 12.2 함수를 사용하는 이유 코드의 재사용성 유지보수성의 편의성 상승 실수를 줄여 코드의 신뢰성 상승 코드의 가독성을 높인다 12.3 함수 리터럴 리터럴은 값을 생성하기 위한 표기법이다. 함수 리터럴도 평가되어 값을 생성하며, 이 값은 객체다. 즉 함수는 객체다. 함수는 객체지만, 일반객체와는 다르다. 일반 객체는 호출 할 ..
오늘 공부한 것 09장 타입 변환과 단축 평가 9.1 타입 변환이란? 타입 변환은 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것이다. 타입 변환을 할 때 주의해야할 것은, 원시 값은 변경 불가능한 값이므로 변경할 수 없으며, 타입 변환이란 기존 원시 값을 사용해 다른 새로운 원시 값을 생성하는 것이다. 암시적 타입 변환이 더 간결해 보일 수 도 있지만, 동료가 작성한 코드를 정확히 이해할 수 있게 작성해야한다. 9.1-1 명시적 타입 변환 값의 타입이 개발자의 의도에 따라 다른 타입으로 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅이라고 한다. 9.1-2 암시적 타입 변환 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 변환되는 것을 암묵적 타입 변환 또는 타입..