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并刷新,就不会报错,原因暂时不明。

JAVASCRIPT 代码复制
  1. class AnyClass extends Sprite {
  2. constructor() { super(); }
  3. initialize() { super.initialize(); }
  4. }

JAVASCRIPT 代码复制
  1. class AnyClass extends Sprite {
  2. constructor() { super(); }
  3. initialize() { super.initialize.call(this); }
  4. }


替代方案:

JAVASCRIPT 代码复制
  1. class AnyClass extends Sprite {
  2. constructor() { super(); }
  3. initialize() { Sprite.prototype.initialize.call(this); }
  4. }


特性列表

* 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
英顺的马甲 发表于 2017-7-18 12:49
貌似可以用TypeScript來解决JavaScript的各种坑爹

分享一个rmmv的typescript版本。

https://gitee.com/598758230/rpgmakermv_typescript




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1