На каком языке написан JavaScript?

Если это язык сценариев, как следует из названия, он должен быть написан на языке более низкого уровня? Как то, как PHP написан на языке C на каком языке написан JavaScript?

Ответ 1

Javascript - это просто стандарт, более формально известный как ECMAScript. Он может быть реализован на любом языке, как и любой стандарт.

Chrome Javascript engine, V8, написан на С++.

На странице проекта:

V8 написан на С++ и используется в Google Chrome, браузере с открытым исходным кодом от Google.

V8 реализует ECMAScript, как указано в ECMA-262, 5th edition и работает на Windows (XP или новее), Mac OS X (10,5 или новее) и Linux систем, использующих процессоры IA-32, x64 или ARM.

Firefox Javascript engine, SpiderMonkey (и теперь TraceMonkey) также написан на С++. И как говорят нижеприведенные maerics, Rhino написан на Java.

Ответ 3

Большинство интерпретаторов Javascript написаны на C/С++ (V8, Nitro и т.д.), однако совместимый интерпретатор может быть написан на любом языке (Rhino → Java, Interpreter → Javascript и т.д.).

Ответ 4

Какой бы язык ни был интерпретирован javascript-интерпретатором веб-браузеров клиента:)

Ответ 5

Javascript - это реализация стандарта ECMAScript, но нет единственного канонического интерпретатора, который вы видите в PHP.

Большинство основных реализаций (автономных или как часть веб-браузеров), как правило, в основном написаны на C или C++ по соображениям производительности, но это не всегда так. Rhino, движок, поддерживаемый Mozilla, написан на Java.

Ответ 6

Большинство реализаций поведения Javascript, которые явно вызваны использованием указателей и передачи параметров byref, которые обычно указывают на использование C или С++

Это, безусловно, примечательно, например, когда вы разбираете многомерный массив в цикле с помощью промежуточного массива. Они, как правило, ведут себя очень "странно", если вы не знакомы с указателями и передачей параметров (вам нужно всегда делать var hlp = new Array() или перезаписывать предыдущие значения, которые вы уже храните где-то еще)

Мне довольно любопытно, как реализация javascript в, например, Java, потому что я предполагаю, что такое поведение будет в этом случае совсем другим?

Ответ 7

C++ является основным языком для всего современного и модного. Большинство современных языков высокого уровня являются подмножеством языка низкого уровня, C++. Все современные языки, которые вы видите сегодня, так или иначе являются подмножеством C++. Даже Java является подмножеством C++.