일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JavaScript
- custom command
- svelte
- CSS
- import.meta.env
- QUIC
- msw
- http3
- web vital
- csr
- Cypress
- 선택자
- TLS
- SSR
- vue3
- api test
- https
- aws
- rendering
- typeScript
- 비동기
- ViTE
- e2e
- CloudFlare
- caching
- vue
- ts error
- Testing
- devtools
- vue-cli
- Today
- Total
목록JavaScript (8)
Develop Note by J.S.

1. Prototype이란? Prototype은 Class가 없는 Javascript에서 객체 기반 프로그래밍을 구현할 수 있도록 객체의 원형을 뜻하는 prototype 객체를 뜻합니다. 기존의 객체를 복사하여 새로운 객체를 생성할 수 있으며 복사된 객체는 기존 객체의 원형인 proptotype 객체를 참조합니다. 참조된 prototype 객체는 __proto__ 프로퍼티에서 확인 할 수 있습니다. 2. 함수의 prototype 예를들어 test라는 이름의 함수를 정의하면 test의 prototype 속성은 javascript의 function기능이 제공하는 객체 원형인 prototype 객체를 참조합니다. 또한 함수를 정의하면 함수 객체로 표현할 수 있으며, 해당 함수 객체의 prototype 프로퍼티..
This란? Javascript의 this 키워드는 함수를 호출한 방법에 따라 this가 가리키는 객체가 변경됩니다. 일반적으로 this는 브라우저에서는 window 전역객체를 가리키고, Node에서는 global 전역객체를 가리킵니다. // 브라우저 this === window; // true // Node.js this === global; // true this 값 할당 전역 범위내에서의 this는 전역객체를 가리키는데 Custom한 객체 내의 프로퍼티 Value로 정의한 함수내에서의 this는 자신이 속한 Custom 객체를 가리킵니다. var Obj = { whatsThis : function () { return this; } } Obj.whatsThis() === Obj // true 또한 ..

Javascript 언어의 가장 중요한 개념 중 실행 컨텍스트를 다뤄보겠습니다. 1. 실행 컨텍스트란? 실행할 코드에 제공할 환경 정보들을 모아놓은 객체를 뜻합니다. 각 환경에 있는 정보를 모아놓은 실행 컨텍스트가 콜스택에 쌓여 실행이 되기 때문에 실행되는 코드의 환경정보와 순서를 보장할 수 있게 합니다. 실행 컨텍스트가 활성화 될 때 호이스팅, 환경정보 구성, this 값이 설정됩니다. 2. 실행 컨텍스트의 구성 1) 변수객체 (variable environment) 현재 컨텍스트 내부에서 사용하는 식별자(변수) 들의 대한 정보가 생성되며, 외부 환경 정보 및 선언 시점의 렉시컬 환경(Lexical Environment)의 스냅샷 정보를 담습니다. 렉시컬 환경이란 변수객체에 호이스팅된 변수 및 함수들의..
개발을 하다보면 "Object에 들어있는 원시값만 사용하고싶어!" 또는 "a객체의 메모리를 공유하는 다른 이름의 객체를 만들고 싶어" 등의 목적으로 코딩을 하다보면 원치않는 동작을 할때가 있습니다. 가장 기본적인 것이지만 한번 제대로 공부해놓지 않고 대충 보고 넘어가다보면 항상 문제가 생기게 되어 정리해 보았습니다. 1. 얕은복사 (메모리 복사) let obj = {}; newObj = obj; let arr = []; newArr = arr; Object와 Array는 1, '1', true(boolean) 등의 리터럴 값이 아닌, 리터럴 값이 저장된 메모리 주소들의 묶음을 새로운 이름으로 재할당하여 사용하는 것입니다. obj와 arr처럼 메모리 주소들의 묶음 자체를 newObj, newArr에 할당하..
프로그래밍 개발에서 꼭 이해하고 넘어가야하는 부분입니다. 대부분의 프로그래밍 언어에서는 존재하는 개념인데요, 값에 의한 호출인지 메모리 참조에 의한 호출인지에 따라 동작이 달라지게 됩니다. 매개변수의 전달 방법, 변수 접근 방법, 특정 변수의 복사 등 어떠한 상황이던 구분해서 사용해야 합니다. Call by Value - 값의 의한 호출, 해당 변수가 가리키는 메모리 내에 들어있는 실제 데이터 (literal)를 사용한다. (ex. 깊은복사) Call by Reference - 메모리 참조에 의한 호출, 해당 변수가 가리키는 메모리 번지를 사용한다 (ex. 얕은복사) Call by Sharing - 함수의 매개변수의 타입(value or reference)과 반대의 타입으로 값을 재할당할 경우 메모리가 ..
Async Await async await는 return형이 Promise 객체일 때 (비동기처리) await 연산자로 동작된 비동기함수의 처리를 순차적으로 동작시키는 기능을 제공합니다. console.log('1'); function callback1 () { return new Promise ((resolve)=> { setTimeout(function() { resolve('2') }, 1000) }) } function callback2 () { return new Promise ((resolve, reject)=> { setTimeout(function() { reject('3') }, 1000) }) } async function showNumber () { try { let number1 =..
1. Promise란 Promise는 ES6에서 새로나운 객체로, then, catch, finally 프로퍼티를 사용하여 비동기처리를 제공하는 기능입니다. 1) then : 앞선 비동기 동작이 종료된 후 동작될 function을 매개변수로 정의한 뒤 이후 순차적으로 then내부에 있는 function들이 동작됩니다. 2) catch : then 동작 중 error 발생 시 가로채어 에러처리를 정의할 수 있습니다. 3) finally : 모든 then 동작이 마무리된 후 마지막에 실행 될 function을 정의합니다. 2. Promise 예제 console.log('1'); function callback1 () { return new Promise ((resolve)=> { setTimeout(func..
Callback이란? Callback은 비동기 로직 처리 후의 동작 될 함수를 뜻합니다. 이후 실행 할 함수를 매개 변수로 전달하여 비동기 동작이 끝난 후 실행할 수 있습니다. 아래 Callback 사용에 대한 예제입니다. function task1(a, cb) { setTimeout(() => { cb(a+1); }, 2000); } function task2(a, cb) { setTimeout(() => { cb(a+1); }, 2000); } function task3(a, cb) { setTimeout(() => { cb(a+1); }, 2000); } task1(1, (a) => { console.log("task1 : ", a); task2(a, (b) => { console.log("task..