Language/Javascript

[Javascript] 변수, 템플릿 문자열, 화살표 함수, 클래스, 프로미스 객체

지윤공원🌳 2021. 3. 28. 20:01
728x90

자바스크립트의 변수

자바스크립트의 변수 종류에는 const, let, var가 있다
var는 함수 스코프를 가진다.
const, let은 블록 스코프를 가진다. 여기서 블록이란 중괄호로 구분되는 것을 말한다
const는 초기화할 때 값을 할당해야 하고, 한 번 값을 할당하면 다른 값을 할당할 수 없다. 흔히 상수라고 부른다
let은 초기화할 때 값을 할당할 필요가 없고, 다른 값을 할당할 수도 있다
생각보다 값을 재할당하는 경우가 많지 않으므로 const를 주로 사용하고, 값을 재할당해야할 경우에만 let을 사용하는 것이 좋다

*템플릿 문자열
*

ES2015문법에 새로운 문자열이 생겼습니다. 작은따옴표(')나 큰따옴표(") 대신 백틱(`)을 사용한 것입니다
const num1 = 5;
const num2 = 10;
const result = num1 + num2;
const string2 = `${num1} 더하기 ${num1}는 '${result}`;

**

화살표 함수 (arrow function)**

function add(num1, num2){
return num1 + num2;
}
const add = (num1, num2) => {
num1 + num2;
};
const add = (num1, num2) =>(num1 + num2);

**

클래스**

클래스 문법이 새로 추가되었습니다
다른 언어의 클래스처럼 생각하면 안됍니다. 프로토타입 기반의 클래스라고 생각해야 합니다

프로미스 객체

실행은 바로 하되 결과는 나중에 받는 객체입니다
주로 서버에서 받아온 데이터를 화면에 표시할 때 사용합니다.

Pending(대기) : 비동기 처리 로직이 아직 완료되지 않은 상태
Fulfilled(이행) : 비동기 처리가 완료되어 프로미스가 결과 값을 반환해준 상태
Rejected(실패) : 비동기 처리가 실패하거나 오류가 발생한 상태

결과는 실행 완료 후, then이나 catch메서드를 통해 받습니다

const condition = true; 
const promise = new Promise((resolve, reject) => {
  if (condition) {
    resolve('성공');
  } else {
    reject('실패');
  }
});
promise
  .then((message) => {
    console.log(message); 
  .catch((error) => {
    console.error(error); 
  })
  .finally(() => { 
    console.log('무조건 실행됨');
});

 

Promise.resolve : 즉시 resolve함
Promise.reject : 즉시 reject함
Promise.all : 프로미스가 여러 개 있을 시 모두 resolve될 때까지 대기하다 then으로 넘어감
728x90

'Language > Javascript' 카테고리의 다른 글

[JS] DOM, querySelector, Event, Ajax, Window객체  (2) 2021.03.11