https://ko.javascript.info/
최근 부족함을 크게 느끼고 내가 필요한 것은 기초라고 생각했다.
그래서 모던 자바스크리트의 문서를 처음부터 끝까지 공부하고
글을 쓰려고 한다.
자바스크립트는 웹에 생동감을 넣기 위해 만들어진 언어다.
웹 HTML에 작성할 수도 있고 작성시, 자동으로 실행된다.
특별한 준비도 없고, 컴파일도 없이 실행이 된다는 것이다.
이런 언어는 웹 프론트뿐만 아니라 서버에서도 사용할 수 있다.
실행되는 환경은 브라우저의 엔진이고, 엔진에 따라 지원되지 않을 수 있는데 어쩔 수 없다..
자바스크립트는 실행환경에 따라 영향을 받는데, 그 중 Node.js에선
임의의 파일을 읽거나 쓸 수 있고, 네트워크 요청을 수행하는 함수를 지원합니다.
하지만 브라우저 환경에선 클라이언트와 서버의 상호작용을 모두할 수 있다.
그리고 언어가 보안을 위해 제약들이 많이 걸려있다.
몇가지만 추리자면
동일 출처 정책으로 도메인과 프로토콜, 포트가 다르면 페이지 접근이 불가능하다.
타사이트나 도메인에서 정보를 받아오는 것이 거의 불가능하다.
HTML/CSS와 완전히 통합할 수 있음
간단한 일은 간단하게 처리할 수 있게 해줌
모든 주요 브라우저에서 지원하고, 기본 언어로 사용됨
간단한 것들처럼 보이지만 이 모든 기술을 지원하는 것은 자바스크립트뿐이다.
사실 이런 특징들 덕분에 브라우저 인터페이스 작성 시
가장 널리 사용되고 있는 것이다.
자바스크립트 파생 언어라는 표현이 맞는지는 모르겠지만
적힌 내용은 자바스크립트로 트랜스파일할 수 있는 새로운 언어라고 적혀있다.
아래에 종류와 간단한 설명을 적어뒀다.
CoffeeScript - 짧은 문법을 도입하여 이해하기 쉬운 코드 작성
TypeScript - 개발을 단순화시켰고, 자료의 명시화에 집중됨
Flow - 자료형을 강제하지만, Typescript와는 다름
Dart - 모바일 앱과 같이 브라우저가 아닌 환경에서 동작하는 고유의 엔진을 가짐
자바스크립트는 현재 다양한 환경에서 사용됨
브라우저환경에서 가장 널리 쓰임
위에 소개된 파생 언어는 꼭 사용해보자. 각 언어마다 고유 기능을 제공하며
자바스크립트를 숙달한 후 공부해보자.