Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
var test = function ( data ) {
/** @params {string} data */
};
console.log(test.__doc__); // @params {string} data
У этого способа есть единственное ограничение: нельзя употреблять в такой последовательности вот эти 2 символа */ — в принципе у всех скриптовых heredoc есть такие ограничения.
/* *\/ */
/**
@preserve
......
*/
/*!
....
*/
/regexp/.exec(fn.toString()) — это вообще в принципе не продакшн.var foo = function () {
/* foo */
};
foo.toString(); // "function () { /* foo */ }"
var foo = function () {
/* foo */
};
foo.bind(null).toString(); // "function () { [native code] }"
var hered0c = heredoc(function () {/*
Меня нет
Совсем нет
Полностью - до конца!
Меня никогда не было и не будет.
И не спрашивайте на форумах где я,
Там меня всегда бьют и обижают потом!
Они не понимают меня и не знают где я... © HEREDOC
*/}.bind(null));
?fn.toString() не валидна.Регулярки в JS настолько медленные?
my $name = "Vasya";
print <<"END";
Hello $name,
Have a nice day!
END
Function.prototype.toString — implementation specific.var myVar = "foo\
bar\
baz";html = """
<strong>
cup of coffeescript
</strong>
"""
будет оттранслировано вvar html;
html = "<strong>\n cup of coffeescript\n</strong>";
Где же ты? Heredoc из JavaScript