/ / Comment v8ScriptEngine déduit-il le langage de script - javascript, c #, v8, clearscript

Comment v8ScriptEngine déduit-il le langage de script - javascript, c #, v8, clearscript

Juste curieux, je viens de commencer à utiliser V8ScriptEngine, J'ai ce fragment de code

private void button1_Click(object sender, EventArgs e)
{
string f = "function myFunc(x) {if(x >= 3500.00) return "001"; else return "002"; }";
string r = "";
using (var eng = new V8ScriptEngine()) {
eng.Evaluate(f);
r = (string)eng.Script.myFunc(3500.0000001);
}
Console.WriteLine("r={0}", r);
}

et ça marche bien ..

Comment le moteur de script infère-t-il que les scriptsla langue est Javascript?, J'imagine qu'il doit évaluer l'ensemble du bloc de script pour affirmer s'il s'agit de Java ou de VB ou de tout autre langage pris en charge, ne serait-ce pas une tâche coûteuse? Ou est-il possible de dire au Scriptengine que la cible du langage est de une saveur spécifique?

Réponses:

0 pour la réponse № 1

Le moteur V8 exécute uniquement du code Javascript. Par conséquent, il suppose que tout code qui lui est transmis est Javascript.

Si par autres langages de script vous voulez dire des choses comme TypeScript ou CoffeeScriptceux-ci ne sont pas directement exécutés par le moteur V8. Ils doivent d'abord être compilés en Javascript (un processus souvent appelé transpilation). Ce processus générera du code Javascript équivalent au code source TypeScript / CoffeeScript.