Espruino:Справочник по API/Класс E/toJS(): различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[ www.espruino.com - ]</ref>= ==Синтакс...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=<ref>[ www.espruino.com - ]</ref>= | =Функция E.toJS()<ref>[https://www.espruino.com/Reference#t_l_E_toJS www.espruino.com - E.toJS]</ref>= | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript" enclose="div"> | <syntaxhighlight lang="javascript" enclose="div"> | ||
E.toJS(arg) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==Параметры== | ==Параметры== | ||
* '''arg''' – JS-переменная, которую надо преобразовать в строку | |||
==Возвращаемое значение== | |||
Строку. | |||
== | ==Описание== | ||
Выполняет ту же базовую функцию, что и [https://www.espruino.com/Reference#l_JSON_stringify JSON.stringify()], но JSON.stringify() также добавляет несколько дополнительных символов, чтобы соответствовать стандарту [[JSON]], тогда как для JS-переменных эти символы не требуются. | |||
Кроме того, E.toJS() умеет преобразовывать в строки JS-функции, тогда как JSON.stringify() их игнорирует. | |||
Например: | |||
* JSON.stringify({a:1,b:2}) == '{"a":1,"b":2}' | |||
* E.toJS({a:1,b:2}) == '{a:1,b:2}' | |||
'''Примечание:''' Строки, созданные с помощью E.toJS(), невозможно корректно пропарсить при помощи [https://www.espruino.com/Reference#l_JSON_parse JSON.parse()]. Впрочем, эти строки являются корректными JS-переменными, так что здесь допустимо использование [https://www.espruino.com/Reference#l__global_eval eval()] (но тут есть ограничения по безопасности, если вы не доверяете источнику, из которого пришла строка). | |||
ПК-парсер [https://github.com/json5/json5 JSON5] без проблем парсит строки, сгенерированные с помощью E.toJS(). | |||
=См.также= | =См.также= |
Версия от 20:54, 6 декабря 2020
Функция E.toJS()[1]
Синтаксис
E.toJS(arg)
Параметры
- arg – JS-переменная, которую надо преобразовать в строку
Возвращаемое значение
Строку.
Описание
Выполняет ту же базовую функцию, что и JSON.stringify(), но JSON.stringify() также добавляет несколько дополнительных символов, чтобы соответствовать стандарту JSON, тогда как для JS-переменных эти символы не требуются.
Кроме того, E.toJS() умеет преобразовывать в строки JS-функции, тогда как JSON.stringify() их игнорирует.
Например:
- JSON.stringify({a:1,b:2}) == '{"a":1,"b":2}'
- E.toJS({a:1,b:2}) == '{a:1,b:2}'
Примечание: Строки, созданные с помощью E.toJS(), невозможно корректно пропарсить при помощи JSON.parse(). Впрочем, эти строки являются корректными JS-переменными, так что здесь допустимо использование eval() (но тут есть ограничения по безопасности, если вы не доверяете источнику, из которого пришла строка). ПК-парсер JSON5 без проблем парсит строки, сгенерированные с помощью E.toJS().
См.также
Внешние ссылки