ReactJs에서 사용되는 JavaScript 기술에 대해 알아보세요

ReactJs에서 사용되는 JavaScript 기술에 대해 알아보세요

科技

JavaScript 소개

JavaScript의 특별한 점은 무엇인지, 이를 이용해 무엇을 할 수 있는지, 어떤 다른 기술이 JavaScript와 잘 어울리는지 살펴보겠습니다.

JavaScript란 무엇인가요?

JavaScript는 원래 다음과 같은 목적으로 만들어졌습니다. “웹페이지를 살아있게 하다”

이 언어로 된 프로그램은 다음과 같습니다. 스크립트. HTML에 바로 작성하여 페이지가 로드될 때 자동으로 실행할 수 있습니다. 스크립트는 일반 텍스트로 제공되고 실행됩니다. 실행하기 위해 특별한 준비나 컴파일이 필요하지 않습니다.

이 측면에서, 자바스크립트 다른 언어와는 매우 다릅니다 자바.

왜 자바스크립트인가?

JavaScript가 만들어졌을 때, 원래는 다른 이름인 “LiveScript”가 있었습니다. 하지만 당시에는 Java 언어가 매우 인기가 있었기 때문에 Java의 “동생”으로 새로운 언어를 포지셔닝하는 것이 도움이 될 것이라고 결정했습니다.

하지만 JavaScript는 진화하면서 ECMAScript라는 자체 사양을 갖춘 완전히 독립적인 언어가 되었고, 이제는 Java와 전혀 관련이 없습니다. 현재 JavaScript는 브라우저뿐만 아니라 서버에서도 실행될 수 있고, JavaScript 엔진이라는 특수 프로그램이 있는 모든 기기에서도 실행될 수 있습니다.

브라우저에는 내장된 엔진이 있는데, 이를 “JavaScript 가상 머신”이라고도 합니다.

엔진마다 “코드명”이 다릅니다. 예:

  • V8 – Chrome 및 Opera에서.
  • SpiderMonkey – 파이어폭스에서.
  • IE의 다른 버전에는 “Trident”, “Chakra”와 같은 다른 코드명이 있습니다.
  • Microsoft Edge의 경우 “ChakraCore”, Safari의 경우 “Nitro”와 “SquirrelFish” 등

위의 용어는 인터넷 개발자 기사에서 사용되기 때문에 기억해두면 좋습니다. 우리도 사용할 것입니다. 예를 들어, “기능 X가 V8에서 지원”된다면 Chrome과 Opera에서 작동할 가능성이 큽니다.

엔진은 어떻게 작동하나요?

엔진은 복잡합니다. 하지만 기본은 쉽습니다.

  1. 엔진(브라우저인 경우 내장형)은 스크립트를 읽습니다(“구문 분석”).
  2. 그런 다음 스크립트를 기계어로 변환(“컴파일”)합니다.
  3. 그러면 기계 코드가 매우 빠르게 실행됩니다.

엔진은 프로세스의 모든 단계에 최적화를 적용합니다. 심지어 컴파일된 스크립트가 실행되는 것을 지켜보고, 이를 통해 흐르는 데이터를 분석하고, 그 지식을 기반으로 머신 코드에 최적화를 적용합니다. 결국 스크립트는 매우 빠릅니다.

브라우저 내 JavaScript로 무엇을 할 수 있나요?

현대 JavaScript는 “안전한” 프로그래밍 언어입니다. 원래는 메모리나 CPU에 대한 저수준 액세스를 제공하지 않습니다. 메모리나 CPU는 이를 필요로 하지 않는 브라우저를 위해 만들어졌기 때문입니다.

기능은 JavaScript를 실행하는 환경에 따라 크게 달라집니다. 예를 들어, Node.JS는 JavaScript가 임의의 파일을 읽고 쓰고, 네트워크 요청을 수행하는 등의 기능을 지원합니다.

브라우저 내 JavaScript는 웹 페이지 조작, 사용자 및 웹 서버와의 상호작용과 관련된 모든 작업을 수행할 수 있습니다.

예를 들어, 브라우저 내 JavaScript는 다음을 수행할 수 있습니다.

  • 페이지에 새로운 HTML을 추가하고, 기존 콘텐츠를 변경하고, 스타일을 수정합니다.
  • 사용자 동작에 반응하고, 마우스 클릭, 포인터 움직임, 키 누름으로 실행됩니다.
  • 네트워크를 통해 원격 서버에 요청을 보내고 파일을 다운로드 및 업로드합니다(소위 AJAX 및 COMET 기술).
  • 쿠키를 가져와 설정하고, 방문자에게 질문하고, 메시지를 표시합니다.
  • 클라이언트 측의 데이터를 기억합니다(“로컬 스토리지”).

브라우저 내 JavaScript로 할 수 없는 일은 무엇인가요?

브라우저의 JavaScript 기능은 사용자의 안전을 위해 제한되어 있습니다. 목적은 악의적인 웹페이지가 개인 정보에 접근하거나 사용자의 데이터를 해치는 것을 방지하는 것입니다.

이러한 제한의 예는 다음과 같습니다.

  • 웹페이지의 JavaScript는 하드 디스크에 있는 임의의 파일을 읽거나 쓸 수 없고, 복사하거나 프로그램을 실행할 수 없습니다. OS 시스템 기능에 직접 액세스할 수 없습니다. 최신 브라우저에서는 파일을 작업할 수 있지만 액세스가 제한되어 있으며 사용자가 브라우저 창에 파일을 “놓거나” 브라우저 창을 통해 선택하는 것과 같은 특정 작업을 수행하는 경우에만 제공됩니다. <input> 태그. 카메라/마이크 및 기타 장치와 상호 작용하는 방법은 있지만 사용자의 명시적 허가가 필요합니다. 따라서 JavaScript가 활성화된 페이지는 몰래 웹 카메라를 활성화하고 주변을 관찰하고 정보를 NSA에 전송할 수 없습니다.
  • 다른 탭/창은 일반적으로 서로에 대해 알지 못합니다. 때로는 서로 알고 있습니다. 예를 들어, 한 창에서 JavaScript를 사용하여 다른 창을 여는 경우가 있습니다. 하지만 이 경우에도 한 페이지의 JavaScript가 다른 사이트(다른 도메인, 프로토콜 또는 포트)에서 온 경우 다른 페이지에 액세스하지 못할 수 있습니다. 이를 “동일 출처 정책”이라고 합니다. 이를 해결하기 위해, 두 페이지 모두 데이터 교환을 처리하는 특수 JavaScript 코드를 포함해야 합니다. 이 제한은 다시 사용자의 안전을 위한 것입니다. http://anysite.com 사용자가 연 URL은 다른 브라우저 탭에 액세스할 수 없어야 합니다. http://gmail.com 거기서 정보를 훔치죠.
  • JavaScript는 현재 페이지가 온 서버와 네트워크를 통해 쉽게 통신할 수 있습니다. 하지만 다른 사이트/도메인에서 데이터를 수신하는 기능은 제한적입니다. 가능하지만 원격 측에서 명시적인 동의(HTTP 헤더로 표현)가 필요합니다. 다시 말하지만, 이는 안전 제한 사항입니다.
브라우저의 JavaScript 제한 사항
브라우저의 JavaScript 제한 사항

브라우저 외부에서 JavaScript를 사용하는 경우(예: 서버에서) 이러한 제한은 존재하지 않습니다. 최신 브라우저는 확장된 권한을 얻을 수 있는 플러그인/확장 기능 설치도 허용합니다.

JavaScript를 독특하게 만드는 것은 무엇입니까?

최소한은 있다 JavaScript의 장점:

  • HTML/CSS와의 완벽한 통합.
  • 간단한 일을 간단하게 처리합니다.
  • 모든 주요 브라우저에서 지원되며 기본적으로 활성화되어 있습니다.

이 세 가지를 합치면 JavaScript에만 존재하고 다른 브라우저 기술에는 존재하지 않습니다. JavaScript를 독특하게 만드는 것이 바로 그것입니다. 브라우저 인터페이스를 만드는 데 가장 널리 퍼진 도구인 이유입니다.

새로운 기술을 배우려고 계획할 때는 그 기술의 관점을 확인하는 것이 좋습니다. 그럼, 새로운 언어와 브라우저 기능을 포함한 최신 트렌드로 넘어가 봅시다.

JavaScript보다 언어가 나은가?

JavaScript의 구문은 모든 사람의 요구에 맞는 것은 아닙니다. 사람마다 원하는 기능이 다릅니다. 이는 예상할 수 있는 일인데, 프로젝트와 요구 사항은 사람마다 다르기 때문입니다.

최근에 새로운 언어들이 많이 등장했습니다. 번역하다 (변환) 브라우저에서 실행되기 전에 JavaScript로 변환합니다. 최신 도구는 변환을 매우 빠르고 투명하게 만들어 개발자가 다른 언어로 코드를 작성하고 “후드 아래”에서 자동 변환할 수 있도록 합니다.

이러한 언어의 예:

  • CoffeeScript는 JavaScript의 “구문 설탕”으로, 더 짧은 구문을 도입하여 더 정확하고 명확한 코드를 작성할 수 있게 해줍니다. 보통 Ruby 개발자들이 좋아합니다.
  • TypeScript는 복잡한 시스템의 개발과 지원을 단순화하기 위해 “엄격한 데이터 타이핑”을 추가하는 데 집중합니다. Microsoft에서 개발했습니다.
  • Dart는 브라우저가 아닌 환경(예: 모바일 앱)에서 실행되는 자체 엔진이 있는 독립형 언어입니다. 원래는 Google에서 JavaScript를 대체하기 위해 제공했지만, 현재 브라우저에서는 위와 마찬가지로 JavaScript로 변환해야 합니다.
  • ReactJs는 웹과 모바일 기기에서 실행되는 JavaScript를 중심으로 구축된 새로운 프레임워크로, 널리 채택된 인기 있는 프레임워크입니다.

더 많은 것이 있습니다. 물론 우리가 그 언어 중 하나를 사용하더라도, 우리가 무엇을 하는지 정말로 이해하기 위해서는 JavaScript도 알아야 합니다.

요약

  • JavaScript는 원래 브라우저 전용 언어로 만들어졌지만, 지금은 다른 다양한 환경에서도 사용됩니다.
  • 현재 JavaScript는 HTML/CSS와 완벽하게 통합되어 가장 널리 채택된 브라우저 언어로서 독보적인 위치를 차지하고 있습니다.
  • JavaScript로 “변환”되어 특정 기능을 제공하는 언어가 많이 있습니다. JavaScript를 마스터한 후 최소한 간략하게라도 살펴보는 것이 좋습니다.
DMCA.com의 콘텐츠 보호

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *