개발일지

JavaScript의 ES란? , ES5/ES6 문법 차이 + 2주차 개발 회고 본문

WIL

JavaScript의 ES란? , ES5/ES6 문법 차이 + 2주차 개발 회고

MotherCarGasoline 2022. 5. 22. 09:40

JavaScript의 ES란?

 

https://perfectacle.github.io/2017/04/26/js-001-es/

  바로 결론부터 말하자면 js는 언어이고, ES는 규격, 표준 즉 스펙을 뜻한다. JavaScript는 1990년대 Netscape 회사의 브렌던 아이크(Brendan Eich)라는 사람에 의해 최초 개발되었는데 10일이라는 정말 짧은 기간에 만들어진 언어이다. 그런만큼 설계상의 미스가 있을 수 밖에 없다. 그리고 마이크로소프트사에서 만든 JScript와 브라우저 전쟁을 했고 그렇기에 표준을 정하고 지속적으로 버전 업그레이드 되어 1999년 ES3, 2009년 ES5, 2015년 ES6가 생겨 나게 되었다.

 

ECMA스크립트(ECMAScript, 또는 ES[1])란, Ecma International이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다. 자바스크립트를 표준화하기 위해 만들어졌다. 액션스크립트와 J스크립트 등 다른 구현체도 포함하고 있다.[2] ECMA스크립트는 의 클라이언트 사이드 스크립트로 많이 사용되며 Node.js를 사용한 서버 응용 프로그램 및 서비스에도 점차 많이 쓰이고 있다.

역사

1996년 3월, 넷스케이프에서 넷스케이프 네비게이터 2.0을 출시하면서 자바스크립트를 지원하기 시작했다. 웹 페이지 동작을 향상시키는 언어로서 자바스크립트의 성공은마이크로소프트가 이와 "적당히" 호환되는 J스크립트를 개발하는 계기가 되었다. J스크립트는 1996년 8월, 인터넷 익스플로러 3.0에 포함되어 출시되었다.

넷스케이프는 표준화를 위해 자바스크립트 기술 규격을 Ecma 인터내셔널에 제출하였고, 이 규격에 대한 작업은 ECMA-262의 이름으로 1996년 11월부터 시작됐다. ECMA-262의 초판은 ECMA 일반 회의에서 1997년 6월 채택됐다.

ECMA스크립트는 ECMA-262에 의해 표준화된 언어의 이름이다. 자바스크립트와 J스크립트는 모두 ECMA스크립트와의 호환을 목표로 하면서, ECMA 규격에 포함되지 않는 확장 기능을 제공한다.

 

ES5/ES6 문법 차이

 

현재는  ES6 ECMA Script6의 규격을 따르고 있다.

 

https://cheonmro.github.io/2018/08/07/what-is-typescript/ / https://velog.io/@hjbaek91/2021.06.19Sat-TIL-ES5-ES6-ESNext

ES5문법

1. 배열과 관련해서 새로운 메소드들이 생겼는데 대표적으로 forEach, map, filter, reduce, some, every와 같은 메소드가 생김.

이 메소드들은 개발자가 반복 횟수나 조건을 잘못 입력하는 등의 실수를 줄여주는 효과 있음.
2. object에 대한 getter/setter 지원
3. 자바스크립트 strict 모드 지원(더욱 세심하게 문법 검사)
4. JSON 지원(과거에는 XML을 사용하다가, json이 뜨면서 지원)
5. bind() 메소드가 생겼습니다. (this를 강제로 bind 시켜주는 메소드)

 

ES6문법


1. let, const 키워드 추가
2. arrow 문법 지원

3. iterator / generator 추가

4. module import / export 추가

5. Promise 도입 ( Callback Hell을 해결해 줄 기법이 추가 되었습니다.)

6. Default, Rest 파라미터

7. 해체 할당, Spread 연산자

8. 템플릿 리터럴

9. 호이스팅이 사라진 것 같은 효과

10. 함수 단위 스코프에서 블록 단위 스코프로 변경

11. 화살표 함수를 사용

 

참고블로그

 

역사를 알아야 현 시점 상황을 이해할 수 있다.
넷스케이프가 마이크로소프트와 경쟁을 하였다가 표준이 되었구나
그래도 각 프로그램마다 다른 확장기능을 제공한다

 


2주차 회고를 진행하겠습니다? 네?

 

5월 16일 - 8일차

  오늘 CS스터디를 발제하였고 아침에 발표와 매일 한 챕터씩 읽어야 한다는게 추가되어서 굉장히 당황하는것도 잠시, 항상 시간날 때 '로켓펀치' 스타트업 구직사이트를 보는데 면접질문에 컴퓨터 기초 지식이 적혀있어 걱정이 되었다.

이걸 언제 어떻게 준비하지?? 지금 커리큘럼 따라가는것도 벅찬데ㅠㅠ. 막막했으나 cs스터디를 넣어주셔 다행이었다! 혼자 이 어려운걸 준비 안해도 되겠구나! '안도의 한숨'ㅎㅎㅎ 다들 바쁜데 시간을 더 쪼개라 해서 반발이 살짝 있었지만 미래를 봤을 땐 대박이다 이거!

 

5월 17일 - 9일차

  두근대는 알고리즘 모의고사를 보는 날이다. 솔직히 두근보다는 떨리고 무섭다, 공부는 한다고 하지만 내가 잘하고 있는지는 시험을 봐야 알 수 있을거 같기 때문이다. 아침에 cs스터디 글들을 정리해야 겠어서 발표 외에도 계속 정리하고 있다. 무엇을 할때 기초가 없으면 항상 제자리로 돌아와서 지금 이것저것 챙기느라 느리겠지만 천천히 정리하며 배워보련다. 그렇게 모의고사를 풀었다! 정답으로 답안을 내고 안도했지만 시험이 더 어려워 두근두근 됐다 이제는 .,,

이번에 블로그를 슬슬 업로드하면서 개발자 루틴을 몸에 슬슬 시작해보려 한다. 아직 2주차 째 중이지만 한 달 정도되면 몸에 익겠지요~~?

 

5월 18일 - 10일차

  오늘 항해톡이라는 키워드를 정해 발표하는 날인데 발표자가 아무도 없었다.. 그래서 매니저님이 특별방송을 하였고 이것도 해야지! 하고 신청을 했다. 이렇게 습득이 느린데 개발 실력 말고 추가로 뭐를 보여줄 수 있을까 싶어 발표라도 해야겠다!! 오늘도 내일 있을 알고리즘 공부만 계속 한다! 팀원들과 얘기하는것도 재밌고 이제 더더 빨리 친해지는것 같다.

 

5월 19일 - 11일차

  알고리즘이 끝났다. 뭐 끝은 아니지만 처음이 정말 아찔했다. 물론 복붙만 하다보니 출력도 못하고 하루는 제대로 시작을 못했었는데 다행히 시험도 다 풀었고 정답이였다!. 오래 본 게 효과적인 것 같다. 더 더 하자 인마 !

내일 새로 시작하는 주특기 입문 이제 몸을 다 푼건가, 본격 시작 전인것 같다. 시간이 날지 모르겠지만 항해톡과 vlog도 준비하고 안써본 블로그와 TIL도 준비해야겠다. 시간을 오래쓰는 개발자 루틴에 적응해보자.

적응하면 그 다음은 순조로울 것.

 

5월 20일 - 12일차

  새로운 팀이 배정되고 React 강의를 보게 되니 이제 시작이구나. 아침은 CS스터디 정리를 하느라 점심부터 시작할 수 있었고 강의를 보니 이거 1주차 때 헤매던 나를 다시 보았다ㅋㅋㅋ 근데 나만 어려운게 아니었다 다들 어렵다고 하였다 위로아닌 위로와 뭔가 군대 온 것 같은 동지애를 점점 더 얻을것 같다~ 왜 다들 친해질 수 있는지 알겠다ㅎㅎ

 

5월 21일 - 13일차

  벌써 2주차 마무리다 일요일날은 쉬다보니 오늘 리액트 강의를 최대한 많이 듣고자 한다. 6시반 저녁먹고 밤잠 자고 9시 반에 다시 시작할 수 있었다.. 이거 체력관리 잘해야겠더라 어제 알고리즘 시험을 치르고 다시보니 머리가 아프더라 진짜다.. 이거 전에 겪었던 뇌에 무리해서 그런것같다 뇌가 방심했나보다 증말 '왜 이걸 또 봐? 그만봐!' 이러는 것 같았다. 밤잠을 자면 새벽까지 할 수 있고 집중도 좋아진다. 다음주 부터 다시 한 번 가보자! 솔직히 아직 다 이해는 안된다!

코드를 써보면서 눈에 익기를 기다리자. 그렇기 위해서는 내가 코드 앞에 오래오래 앉아있어야한다.

 

오래 보아야 예쁘다 코드도 그렇다.
Comments