新聞中心
JavaScript 運(yùn)行時(shí)間
當(dāng)使用 React Native 時(shí),你將會(huì)在兩個(gè)環(huán)境中運(yùn)行 JavaScript 代碼:

-
在模擬器和電話中:[JavaScriptCore]( http://trac.webkit.org/wiki/JavaScriptCore) 是 JavaScript 的引擎,能夠驅(qū)動(dòng) Safari 和 web 視圖。由于在 iOS 應(yīng)用程序中沒(méi)有可寫(xiě)的可執(zhí)行的內(nèi)存,它不用 JIT 運(yùn)行。
-
使用 Chrome 調(diào)試時(shí),它在 Chrome 本身中運(yùn)行所有 JavaScript 代碼,并且通過(guò) WebSocket 與 Objective-C 交互。所以你正在使用 [V8]( https://code.google.com/p/v8/)。
雖然兩個(gè)環(huán)境很相似,但是你可能會(huì)以觸及一些矛盾而結(jié)束。將來(lái)我們很可能去嘗試其他 JS 引擎,所以最好避免依賴任何運(yùn)行時(shí)的細(xì)節(jié)。
JavaScript 轉(zhuǎn)換
React Native 附帶許多 JavaScript 轉(zhuǎn)換,使編寫(xiě)代碼更愉快。如果你好奇的話,你可以查看[所有這些轉(zhuǎn)換的實(shí)現(xiàn)](https://github.com/facebook/jstransform/tree/master/visitors)。這是完整的列表:
ES5
-
關(guān)鍵字:
promise.catch(function() { });
ES6
-
箭頭函數(shù):
this.setState({pressed: true})} -
調(diào)用傳播:
Math.max(...array); -
類:
class C extends React.Component { render() { return; } } -
解構(gòu):
var {isActive, style} = this.props; -
迭代:
for (var element of array) { } -
計(jì)算屬性:
var key = 'abc'; var obj = {[key]: 10}; -
對(duì)象 Consise 方法:
var obj = { method() { return 10; } }; -
對(duì)象 short 表示法:
var name = 'vjeux'; var obj = { name }; -
其他參數(shù):
function(type, ...args) { } -
模板:
var who = 'world'; var str = 'Hello ${who}';
ES7
-
對(duì)象傳播:
var extended = { ...obj, a: 10 }; -
Trailing Comma 函數(shù):
function f(a, b, c,) { }
分享名稱:創(chuàng)新互聯(lián)React教程:JavaScript環(huán)境
當(dāng)前鏈接:http://www.dlmjj.cn/article/cccodgd.html


咨詢
建站咨詢
