當我試圖在Node.Js上預測此代碼失敗。我已經創建完成的代碼給每個人都能看到真實的結果。OOP - ES6 - 節點Js - 從子函數調用父方法 - SyntaxError:'超'關鍵字在這裏意外
這是類的結構:
FILE printlog.js
const echo = require('node-echo' );
class printlog
{
p (msg) { echo(msg) }
}
exports.printlog = printlog;
文件B.js
var { printlog } = require('./printlog.js')
class B extends printlog
{
constructor() {
super()
}
a_works(pos,elem) {
super.p(pos + ' - ' + elem)
}
a_fail(a_passed) {
if (Array.isArray(a_passed))
a_passed.forEach(function(elem, pos, array)
{
super.p(pos + ' - ' + elem) // fail
})
}
}
var c = new B()
var arr = [2000, 2001, 2003,2039, 2040]
c.a_works(10,3) // works
c.a_fail(arr) // fail
節點js版:
node -v
v8.6.0
節點命令
node B.js
這是錯誤:
/B.js:25
super.p(pos + ' - ' + elem)
^^^^^
SyntaxError: 'super' keyword unexpected here
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:588:28)
at Object.Module._extensions..js (module.js:635:10)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
at Function.Module._load (module.js:500:3)
at Function.Module.runMain (module.js:665:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:607:3
感謝。