Hi.
I've tried to create a simple "class" declaration using prototype declarations and it seems like that V8 engine don't support that.
The C# code is:
Thanks for any feedback!
I've tried to create a simple "class" declaration using prototype declarations and it seems like that V8 engine don't support that.
The C# code is:
using (var engine = new JScriptEngine())
{
/* Attach the host functions */
engine.AddHostObject("host", new HostFunctions());
engine.AddHostObject("Environment", new HostTypeCollection("mscorlib", "System.Core"));
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
using (var stream = assembly.GetManifestResourceStream("ClearScriptTests.Scripts.sample.js"))
using (var reader = new System.IO.StreamReader(stream))
{
engine.Execute(reader.ReadToEnd());
}
}
The JS code is (sample.js embedded resource):var System = Environment.System;
var Console = System.Console;
var Car = (function () {
function Car(logger, settings) {
}
Car.prototype.bar = function () { Console.WriteLine("bar"); }
}());
for (var m in Car) {
Console.WriteLine("Property: " + m);
}
When I'm changing the engine from V8ScriptEngine to JScriptEngine the code works pefectly. I cane across this when trying to use TypeScript, which uses prototypes too.Thanks for any feedback!