본문 바로가기
nodejs

nodejs 교과서 챕터1 - 자바스크립트 문법

by 오늘의코더 2024. 6. 15.
반응형

var,let,const

var-스코프무시 func{} 못빠져나감

let,const-블록스코프 {}

 

const-한번선언하면 다른거로 값 못바꿈

let-값 바꾸기 가능

 

템플릿문자열

var won = 1000;

const result = `이 과자는 ${won}원 입니다.`

 

태그드템플릿 리터럴

function a() {}

a();

a``;

 

화살표함수

생략이 많아짐- 바로리턴시 생략가능

객체리턴할때는 {} 써야한다(헷갈리지 않게 주의)

부모의 this를 물려받음

e가 뭔가요.. 원래들어있는거

 

구조분해할당

객체값 쉽게 꺼내오는 방법

배열도 적용 가능

함수에 this 쓰고 있는 경우 사용하면 안됨

 

클래스

생성자,스태틱,인스턴스 메서드 하나로 합친 것

 

프로미스

내용이 실행은 되었지만 결과를 아직 반환하지 않은 객체

allSettled

 

async, await

await - then 역할

async 함수는 promise를 반환하기 때문에

함수에서 리턴한 것들은 then으로 받아야 함

 

Map Set

const m = new Map();

m.set('a','b')

m.get('a')

m.size();

m.forEach(() => )

m.has();

 

Map 키 값이 객체여도 됨

하지만 객체를 불러올려면 변수로 저장해서 같은 참조값을 같게 해야함.

 

Set: 중복을 허용하지 않는 배열

자료형이 다르면 된다. ex) [1,'1']

const s = new Set();

s.add(1)

s.add(1)

s.add(2)

 

배열중복제거

const  arr = [1,2,3,2,3,5,2];

const s2 = new Set(arr)

Array.from(s2)

 

WeakMap WeakSet

가비지 컬렉팅이 된다

 

const wm = new WeakMap();

let obj3 = {}

wm.set(obj3,'123')

obj3 = null

 

let obj4 = {};

m.set(obj4,'123')

obj4 = null

 

 

const user = { name: 'zero', age: 29 };

user.married = false;

 

const userObj = {

   user,

   married: false

}

 

wm.set(user, { married: false }) 

user = null; //가비지 컬렉팅

 

널병합과 옵셔널체이닝

 

let count = 0;

count || <div>123</div>

         ??

널병합 연산자: 앞의 값이 null, undefined일 때만 뒤로 넘어감

 

옵셔널체이닝연산자

null, undefined여도 에러가 나지 않는다

 

?.

c?.[0]

 

 

 

 

 

반응형

댓글