글 은 React Native 의 공식 Документ 인 Среда JavaScript 를 학습 목적 으로 번역 한 글 입니다.

JavaScript 런타임

React Native 실행 중일 때, 가 작성한 JavaScript 코드 는 두 가지 환경 에서 실행 됩니다.

  • 경우, React Native 는 Safari 브라우저 에 쓰이는 JavaScriptCore WebKit 엔진 을 사용 하여 구동 됩니다. iOS 예외 인데요, iOS 에는 쓰기 가능한 실행 가능 가 없기 JavaScriptCore 에서 JIT 를 사용 하지 않습니다.
  • Chrome 을 사용할 때, 모든 JavaScript 코드 는 Chrome 자체 에서 실행 되며, WebSocket 을 거쳐 네이티브 코드 와 신호 를 주고 받게 됩니다. Chrome V8 을 JavaScript 엔진 으로 사용 합니다.

두 환경 이 매우 유사 하긴 하지만 그렇다고 완전히 같지는 않습니다. 또 다른 JavaScript 엔진 을 실험 할 가능성 이 높기 때문에, 런타임 특성 에 의존 하지 않는 것이 좋겠습니다.

Преобразователи синтаксиса JavaScript

인터프리터 들이 아직 새로운 JavaScript 문법 을 정식 으로 지원 해주지 않더라도, преобразователь синтаксиса 가 있기 때문에 우리 는 보다 코딩 할 수 있습니다!

React Native Компилятор Babel JavaScript 가 탑재 되어 있습니다. Babel 이 지원 하는 변환 가능한 문법 에 대해 자세히 알고 싶다면 Документация Babel 을 참조 하세요. Хесон Ким 님 의 글 에서 Babel 설정 방법 에 대해서도 알아볼 수 있습니다.

ES5

  • 예약어 : promise.catch(function() { });

ES6 (ECMAScript 2015)

ES8

Этап 3

Конкретный

  • JSX: <View style={{color: 'red'}} />
  • Поток: function foo(x: ?number): string {}

Полифиллы

되는 모든 JavaScript 런타임 에서도 많은 표준 기능 을 사용할 수 있습니다.

브라우저

ES6

ES7

ES8

Конкретный

  • __DEV__