background

Javascript?

javascript의 표준인 ECMAScript가 기본 뼈대를 이루고 브라우저가 별도로 지원하는 ClientSide Web API도 함께 포함됩니다.

****ClientSide Web API****

DOM, BOM, Canvas, XMLHttpRequest, fetch, requestAnimationFrame, SVG, Web Storage, Web Component, Web Worker ...

Features

  • Web browser에서 동작하는 유일한 프로그래밍 언어

  • 인터프리터 언어

  • 멀티 패러다임 프로그래밍 언어(명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍 지원)

Strict mode

strict mode는 엄격하게 문법을 적용하는 모드를 뜻합니다. 그러나 이보다 ESLint를 사용하는 것이 코딩 컨벤션을 강제할 수도 있어 더 강력합니다. 또 ES6에서 도입된 클래스와 모듈은 기본적으로 strict mode입니다.

strict mode는 전역의 선두 혹은 함수 몸체의 선두에 use strict;를 사용하여 선언합니다. 그러나 둘 다 권장하지 않습니다. 어디엔 선언하고 어디엔 선언하지 않는 것이 더 오류를 일으킬 수 있기 때문입니다.

  • 암묵적 전역 에러: 선언하지 않은 변수는 참조할 수 없습니다.

  • delete 연산자로 변수, 함수, 매개변수를 삭제할 수 없습니다.

  • 매개변수를 중복된 이름으로 쓸 수 없습니다.

  • with문을 사용할 수 없습니다. : with문은 전달된 객체를 스코프 체인에 추가하는 문이라네요.

  • 일반 함수로 호출하면 this가 undefined입니다.

  • 매개 변수에 값을 재할당해도 arguments 객체에 반영되지 않습니다.

Last updated