[WIL] 항해99 2주차 (14일차)

돼지·2022년 1월 23일
0

항해99

목록 보기
19/104

ES란 무엇인가.

ES5와 ES6의 차이는 무엇인가에 대해 작성해보겠다.

ES란 ECMAscript의 약자이며 자바스크립트 표준 규격을 나타낸다.

자바스크립트 관련영상을 보다보면 '이 문법은 ES6에서 새롭게 나온 문법입니다~' 라는 말을 종종 듣곤 한다.

ES5와 ES6의 차이

  1. let, const의 추가
    기존 var는 함수 스코프기 때문에 외부에서도 접근이 가능하고 재선언도 가능하다.
    이러한 문제를 잡기위해 새로운 선언방식이 나타났으며 let, const다
    let은 선언 후 변경 가능한 변수
    const 선언 후 변경 불가능한 상수

  2. 함수 선언방식
    기존에는 function을 사용하며 선언하였으나 ' => ' 라는 화살 모양의 함수를 사용하여 간결하게 사용할 수 있다.
    화살표 함수에서 매개변수가 하나일때 () 생략 가능
    {}와 return도 생략 가능하다.

  3. Default parameter 추가
    기존 함수의 매개변수에 초기값을 작성하려면 함수 내부에서 로직이 필요했으나 Default parameter가 추가 되었다.
    function (기본값 설정, 기본값 설정){}

  4. 템플릿 리터럴추가
    문자열과 변수를 넣을때 '와 + 등을 사용하여 값을 추출했으나 이제는
    (백틱)을 사용하여 빠르게 처리가 가능하다.

  1. 모듈
    모듈이란 재사용하기 위한 코드 조각을 뜻하며 세부사항은 캡슐화 시키고 API부분만 외부에 노출시킨 코드들이다.
<script> type='module' src='lib.mjs'</script>

type에 module을 추가하고 파일 확장자를 mjs로 변경시킨다.
모듈은 모듈 스코프를 가지며, export, import 키워드로 사용한다.

  1. class 추가
    2021년 12월부터 자바스크립트를 만난 나는 클래스를 써본적은 거의 없지만 클래스가 없던 시절이라는게 상상이 안된다.
    문득 기억하기로는 함수를 만들어서 클래스 대신 사용했다고 들었다.
  1. 디스트럭처링 할당
    디스트럭처링이란 비구조화, 파괴를 뜻하는 단어이며 크게 객체나 배열에서 사용해서 개별 변수에할당하는 것이다.

스프레드(spread)문법도 추가 되었는데 ...으로 사용하며 아주 쉽고 빠르게 객체나 배열에 다른값을 추가 가능하다.

  1. promise
    비동기 통신에 있어 기존에는 콜백 함수를 사용한 콜백 패턴을 사용했다.
    결과론적으로 콜백헬을 발생했다고 한다..
    이를 해결하기 위해 프로미스가 도입되었고 후속처리 메서드를 통해 에러처리를 효과적으로 할 수 있게되었다.

async

펑션앞에 위치하는데 해당함수는 항상 프로미스를 반환한다.
프라미스가 아닌 값을 반환하더라도 resolved promise로 값을 감싸 이행된 프라미스가 반환되게 한다

await

await는 async함수 안에서만 동작한다.
자바스크립트는 await 키워드를 만나면 프라미스가 처리될 때까지 기다린다.
이름처럼 실행이 잠시 '중단' 되었다가 프라미스가 처리되면 실행이 재개된다. 프라미스가 처리되길 기다리는 동안에 엔진이 다른 일(다른 스크립트 실행, 이벤트 처리 등)을 할 수 있기 때문에, CPU 리소스가 낭비되지 않는다.

  1. string 메서드
    문자열 메서드가 추가 됐다.
    포함하는지(includes)
    시작되는지(startWith)
    끝나는지(endWith)
    모두 true/false를 반환한다.

이처럼 ES5에서 ES6로 업그레이드 되면서 추가된 내용들이 많다.
6년만에 업그레이드 됐다고 하며 현재도 자주 사용하고 많이 보는것들이다.

다만 이 글을 작성하면서 블로그를 보다보니 이런글이 있었다
'ES5 문법으로 만들어진 코드를 ES6로 리펙토링 해야한다면'
그러면 이전 문법을 알아야 정상동작이 가능한 코드를 짤수 있기때문에 이전문법에 대해 간단히 조사하며 알아둬야겠다.

시간이 느린듯 빠르게 흘러간다.
내머리털도 한가닥씩 빠지고 자라는 시간들.
많이많이 자라라

일요일은 공식적으로 쉬는날이기 때문에 엄청 쉬고있었는데도 마음 한켠이 찝찝해서 출석체크를 했는데 역시나 학구열 불타오른 분들을 보며 다시 마음을 다잡았다. 물론 밤10시 넘어서 출석해 한두시간밖에 못하겠지만..

이번주는 알고리즘 테스트 통과를 위해 열심히 문제풀이를 하며 보냈고 마지막 금요일부터 새로운 과제인 리액트 공부에 들어갔다.

금요일 토요일 밖에 안했지만 아직 인강들으며 어떤 개념인지 이해하는 단계를 거쳐갔다.

새로운 챕터에 넘어갈때는 항상 이걸 어떻게 내가 할 수 있는거지..?
진짜 강의만 듣고 할수 있다고?
라는 의문을 품으며 공부를 시작한다.
어렸을 때 부터 했던 공부 방식이 아닌지라 매번 겁부터 났지만 신기하게도 하게 된다.
나를 믿고 커리큘럼을 믿어 진행해보자.

profile
먐미

0개의 댓글

관련 채용 정보