목록Javascript (17)
Script
인스턴스란? 비슷한 성질을 가진 여러개의 객체를 만들기 위해, 일종의 설계도라고 할 수 있는 생성자 함수(Constructor)를 만들어 찍어내듯 사용하는데 이렇게 생성된 객체를 인스턴스라 부를 수 있다. 생성자 함수 (Constructor) = 거푸집 인스턴스 = 거푸집으로 찍어낸 칼 function Sword(color, metal) { this.color = color; this.metal = metal; this.is = function() { console.log(`This is ${this.color} ${this.metal} sword!`); }; } const redSteel = new Sword('red', 'steel'); console.log(redSteel); //Sword {col..
보호되어 있는 글입니다.
이터레이션 프로토콜이란? 이터레이션은 반복,순회라는 뜻을 지닌 단어이다. 이터레이션 프로토콜은 따라서 순회가 가능하게 하기 위해서 따라야 하는 규칙이라고 해석할 수 있다. 이터레이션 프로토콜을 따르는 객체 - for ...of, spread 연산자 이터레이션이 가능한 기본 자료구조 Array String Map Set Iterable 프로토콜 이터레이션 프로토콜을 따르기 위해서는 정확히 어떤 규칙을 따라야 하는 것일까? 이터러블 프로토콜이 이에 대한 대답이다. { [Symbol.iterator](): Iterator 프로토콜 { next(): 다음값 } } 이터러블 프로토콜에 대한 설명은 다음과 같다. Symbol.iterator를 호출하고 Iterator 프로토콜을 따르는 객체를 호출한다. Iterat..
Closure의 정의 외부 함수에 접근할 수 있는 내부 함수 혹은 이러한 원리를 일컫는 용어 스코프에 따라서 내부 함수의 범위에서는 외부 함수의 범위에 있는 변수에 접근이 가능하지만 그 반대는 불가능하다는 개념 특징으로 외부 함수는 외부 함수의 지역변수를 사용하는 내부 함수가 소멸할 때까지 소멸되지 않는다 예시 function makeFunc() { var name = "이름"; function displayName() { console.log(name); } return displayName; } //myFunc변수에 displayName을 리턴함 var myFunc = makeFunc(); //리턴된 displayName 함수를 실행(name 변수에 접근) myFunc(); // "이름" 콘솔 출력 ..
호이스팅이란? javascript에서의 호이스팅은 선언 부분을(할당 x) 전역 혹은 지역 스코프에서의 최상위로 끌어올린 듯 먼저 실행시키는 것을 뜻한다. 모든 선언에는 호이스팅이 일어나지만 대표적으로 let과 const는 호이스팅이 일어나지 않는 것처럼 보인다. 그 이유는 밑에 TDZ존에서 확인하도록 하자. 스코프란? Scope란 범위라는 말로, 2가지 타입으로 나뉘어 진다. 첫번째는 global scope( 전역 스코프) , 두번째는 local( 지역 스코프) 이다. 전역 스코프 코드의 어느곳에서든 참조할 수 있는 범위, 이곳에 선언된 변수는 전역 변수가 되며 코드 어디에서든 참조가 가능하다. let A = 'global' function B(){ console.log(A) } A //global sc..
async & await promise를 clear하게 사용하는 방법 경우에 따라 async & await을 사용해야할 떄와 promise를 사용해야 할때가 나뉜다 1.async 기존의 일반적인 Promise 문법 function fetchUser(){ return new Promise((resolve,reject)=>{ //do network request in 10 secs.... resolve('ellie'); }); } const user=fetchUser(); user.then(console.log); console.log(user);//Promise {: 'ellie'} //ellie async를 사용시 async function fetchUser(){ //do network request i..