본문 바로가기
기술

Java Script

by cha123 2022. 3. 24.

java script

java script란?

자바스크립트는 복잡한 무언가(주기적으로 내용이 갱신되는 기능이나 능동적인 지도, 변화하는 2D/3D 그래픽, 동영상 등)를 웹페이지에 적용할 수 있게 하는 스크립트 혹은 프로그래밍 언어입입니다. 자바스크립트는 표준 웹 기술이라는 레이어 케이크에서 세번째 층이라고 볼 수 있습니다.

 

ES란

 ECMAScript 는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어입니다. 자바스크립트를 표준화하기 위해서 만들어졌으며 꼭 자바스크립트가 아니더라도 어도비 플래시를 사용하는 소프트웨어에서 사용하는 액션스크립트, MS 사의 인터넷 익스플로러에 쓰이는 J스크립트 등 다른 구현체들 역시 포함하고 있습니다.

 

ES5

  • 배열
    배열과 관련해서 새로운 메소드들이 많이 생겼는데 대표적으로
    forEach, map, filter, reduce, some, every와 같은 순환 메소드들이 생겼다.
    이 메소드들은 개발자가 반복 횟수나 조건을 잘못 입력하는 등의 실수를 줄여주는 효과가 있다.
  • 객체
    일단 눈에 띄는 점은 객체의 프로퍼티에 대한 설정을 할 수 있다는 것이다.
    객체를 생성/수정/복사하는 표준 메소드들(Object.create(), Object.defineProperty(), Object.freeze(), Object.assign() 등등)과 getter/setter 등등
    또한 Object.keys 메소드를 쓰면 for in 메소드도 대체할 수 있게 된다.
  • strict 모드
    문법을 좀 더 깐깐하게 체크하는 모드이다.
    물론 이유없이 그러는 게 아니라 좀 더 코드를 안전하게(에러가 안 나게, 미연에 방지하고자) 등장했다.
  • bind()메소드
    this를 강제로 bind 시켜주는 메소드이다.
  • JSON(JavaScript Object Notation)
    과거 통신을 할 때 데이터를 XML 형태로 많이 주고 받았다.
    하지만 JSON이 좀 더 경량화 돼있는지 요새는 JSON이 대세다.
    JSON은 자바스크립트의 객체 리터럴과 생긴 건 유사한데 다음과 같은 차이점이 존재한다.
  1. 키는 무조건 쌍따옴표(“”)로 감싼 문자열이어야한다.
  2. 주석은 사용할 수 없다.
  3. 프로퍼티로 메소드는 불가능하다.
  4. 프로퍼티에서도 메소드의 사용이 불가능하다.
    통신을 위해 Object를 JSON으로 바꾸는 방법은 JSON.stringify(obj)이고, 자바스크립트 코드에서 사용하기 위해 JSON은 Object로 바꾸는 방법은 JSON.parse(json)이다.

ES6

기존에 ES5에대한 문제를 해결 및 기능이 추가되었다.

  • 호이스팅이 사라진것 같은 효과
  • 함수단위 스코프에 블록단의 스코프로 변경
  • this를 동적으로 바인딩하지 않는 애로우 평션
  • 모듈화 지원
  • 콜백 지옥의 구원자, Promise
  • Default, Rest
  • 해체 할당, Speread연산자
  • 템플릿 리터럴
  • 클래스

'기술' 카테고리의 다른 글

테스트코드  (0) 2022.04.04
CLASS  (0) 2022.04.04
ISO 8601  (0) 2022.04.04
ORM, noSQL vs SQL  (0) 2022.04.03
Restful API, package.json  (0) 2022.03.31