mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
54 lines
1.5 KiB
JavaScript
54 lines
1.5 KiB
JavaScript
/*
|
|
|
|
Good:
|
|
|
|
|
|
#39[r3,l1] Function {
|
|
#40[r1,l2] Name Param "\/a" undefined
|
|
#45[r1,l2] Name String [1 blocks] "\/cod" #41[r1,l0] FlatString [4 blocks] "console.log(\"Argument\",a);\n if (a!=\"Foo\") throw \"No argument passed!\";"
|
|
#46[r1,l2] Name String [1 blocks] "\/sco" #30[r2,l0] Object {
|
|
#28[r1,l2] Name String [1 blocks] "exports" #39[r3,l1] ...
|
|
|
|
#37[r1,l2] Name String [1 blocks] "module" #30[r2,l0] ...
|
|
|
|
#38[r1,l2] Name String [1 blocks] "b" #39[r3,l1] ...
|
|
|
|
}
|
|
}
|
|
Argument Foo
|
|
|
|
Bad:
|
|
|
|
#41[r4,l1] Function {
|
|
#42[r1,l2] Name String [1 blocks] "\/sco" #32[r2,l0] Object {
|
|
#30[r1,l2] Name String [1 blocks] "exports" #41[r4,l1] ...
|
|
|
|
#29[r1,l2] Name String [1 blocks] "module" #32[r2,l0] ...
|
|
|
|
#40[r1,l2] Name String [1 blocks] "b" #41[r4,l1] ...
|
|
|
|
}
|
|
#57[r1,l2] Name Param "\/a" undefined
|
|
#58[r1,l2] Name String [1 blocks] "\/cod" #59[r1,l0] String [4 blocks] "console.log(\"Argument\",a);\n if (a!=\"Foo\") throw \"No argument passed!\";"
|
|
#43[r1,l2] Name String [2 blocks] "prototype" #45[r1,l0] Object {
|
|
#46[r1,l2] Name String [2 blocks] "constructor" #41[r4,l1] ...
|
|
|
|
}
|
|
}
|
|
|
|
- scope is too soon
|
|
*/
|
|
Modules.addCached("mod",`
|
|
class b {
|
|
constructor(a) {
|
|
console.log("Argument",a);
|
|
if (a!="Foo") throw "No argument passed!";
|
|
this.foo=a;
|
|
}
|
|
}
|
|
exports = b;`);
|
|
|
|
//trace(require('mod'));
|
|
m = new (require('mod'))("Foo");
|
|
result = m.foo == "Foo";
|