[node.js] ECMAScript / strict mode

Hyo Kyun Lee·2021년 7월 25일
0

node.js

목록 보기
12/34

1-1. Script 언어

특정 프레임워크 및 application에 맞게 설계된 언어

우리가 특정한 프로그램을 설계하기위해 사용하는 개발언어들은 각각 구현체계 및 환경과 맞는 IDLE 및 설계툴이 존재한다.

각 IDLE 및 설계툴에 맞게 활용할 수 있는 언어들을 Script언어라 일컫는다.

Script는 그러한 언어들을 통해 스케치할 수 있도록 지원하는 공간이다(도화지에 그림을 그리듯, 설계를 구현하기 위해 사용하는 모든 도화지, 붓, 펜 등으로 구성된 환경경과 같다).

1-2. ECMAScript(ES)

서로 다른 웹프레임워크에서 활용하는 언어 간 문법 및 활용방법의 한계를 극복하고자 만들어진 표준화 문법

표준화된 문법, 표준화된 언어이다.

Javascript, Python 등 각 웹프레임워크마다 사용하는 언어가 다르고, 이로 인해 문법이나 명령체계가 다를 수 밖에 없다.

이러한 다양한 언어 간 한계를 극복하기 위해 만들어진 표준화 문법으로, Javascript에서 class를 지원하는 등 여러 변화가 생기게 되었다.

ECMAScript2015, ES6 등을 통해 표준화된 언어 및 문법을 제공한다.

JavaScript 관점에서의 ES

Javascript 관점에서 function / class 동시지원, const/지역변수/template변수, arrow function, 스프레드연산자, arguments[index](인덱스화한 인자) 등이 ES6 문법이다.

1-3. JavaScript

표준화된 언어인 ECMAScript에서 파생되어온 Script 언어

JavaScript는 Script언어의 한 종류이다.

따라서 JavaScript는 Script 언어의 표준인 ECMAScript에서 파생, 즉 ECMAScript를 기반으로 생긴 언어이다.

이러한 Javascript언어를 해석하고 실제로 구현하기 위해 별도의 엔진이 필요하며, 엔진을 통해 처리된 JavaScript언어는 보통 웹페이지 구현에 많이 사용한다.

물론 단순히 웹페이지 구현이 아닌, 그 안에서 data 전송 및 분기처리(특정 시점에서 특정 template 호출) 등 다양한 로직을 처리하며 이러한 로직을 이해하고 구성하는 것이 프로그래밍의 핵심이다.

node.js는 javascript 언어로 된 체계

node.js는 javascript 언어를 사용한 체계이다.

이에 따라 javascript 언어 및 ES6 표준을 사전에 잘 이해하고 있어야 로직구현이 수월하다.

2. strict mode

ES5부터 지원하는 JavaScript '엄격한' 설계환경

기존에 비해 엄격한 문법규칙을 적용하여, 일전에서 문제없이 실행하거나 무시하였던 문법을 오류화하거나 예외처리를 하는 환경을 의미한다.

전역적으로 사용하거나, 함수 혹은 모듈 내부에서 사용할 수 있으며

'use strict'

를 선언하여 사용할 수 있다.

※ 내부적인 로직 수행을 위해선 function, 기능을 세분화하여 외부적으로 활용할 수 있도록 만든 function은 module

3. 참조링크

http://tcpschool.com/javascript/js_exception_strict

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Strict_mode

https://wormwlrm.github.io/2018/10/03/What-is-the-difference-between-javascript-and-ecmascript.html

0개의 댓글