Project1
标题: RPG Maker MV支持的ECMAScript6特性列表 [打印本页]
作者: 怠惰な騎士 时间: 2017-7-15 19:41
标题: RPG Maker MV支持的ECMAScript6特性列表
本帖最后由 怠惰な騎士 于 2017-7-16 02:27 编辑
RPG Maker MV 内核的大部分代码均使用ECMAScript5(JavaScript)编写,但由于RMMV使用NW.js(又名Node-webkit)作为其脚本运行环境,尽管RMMV所用nw.js的版本是老的0.12.3,但这个版本依旧有一些已经实现了的可以使用的ES6的特性。
下方是基于Kino在RMWEB发的帖子整理后的RMMV内确认已经可以使用的ECMAScript6的特性语法。
注意:如果你发现任何特性失效或者有新的特性,欢迎在楼下指出,我会及时更新本帖。
已发现的问题
类方法中的super调用
版本:1.5.0
错误:ReferenceError - 'super' is referenced from non-method
如下的代码会在游戏中报错,但如果打开了F8并刷新,就不会报错,原因暂时不明。
class AnyClass extends Sprite {
constructor() { super(); }
initialize() { super.initialize(); }
}
class AnyClass extends Sprite {
constructor() { super(); }
initialize() { super.initialize(); }
}
class AnyClass extends Sprite {
constructor() { super(); }
initialize() { super.initialize.call(this); }
}
class AnyClass extends Sprite {
constructor() { super(); }
initialize() { super.initialize.call(this); }
}
替代方案:
class AnyClass extends Sprite {
constructor() { super(); }
initialize() { Sprite.prototype.initialize.call(this); }
}
class AnyClass extends Sprite {
constructor() { super(); }
initialize() { Sprite.prototype.initialize.call(this); }
}
特性列表
* Block Scoped Variables
* Objects
* Objects Assignment
* Shorthand Object Properties
* Method Properties
* Template Literals
* Expression Interpolation
* Multiline Strings
* Classess
* Class Inheritance
* Base Class Access
* Getters and Setters
* Symbols
* String Methods
* Repeat
* Starts With
* Includes
* IndexOf
* Numbers
* Type Checking
* Safety Checking
* Number Comparison
* Truncation
* Sign Determination
* Sets and Weak Sets
* Maps and Weak Maps
参考资料:
* RPGMaker MV ES6 Feature List @ Kino 2016.9.26
* ES6-Features.org
作者: 铅笔描绘的思念 时间: 2017-7-18 10:01
用extends看起来是舒服点但是和其他脚本一起看就很难受了。。既然不能完美支持还是等更新吧。。应该会慢慢跟上的。。
作者: 英顺的马甲 时间: 2017-7-18 12:49
貌似可以用TypeScript來解决JavaScript的各种坑爹
作者: FxPixels 时间: 2018-6-15 16:22
本帖最后由 FxPixels 于 2018-6-15 16:46 编辑
现在呢…其实我想知道能不能导入ajax库。另外看到上面还不支持promise呢…
更新——发现了这个东西:
https://rpg.blue/thread-384710-1-1.html
完结。
作者: RuanZhongNan 时间: 2022-12-2 12:49
分享一个rmmv的typescript版本。
https://gitee.com/598758230/rpgmakermv_typescript
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |