Джексон частично ответил на это в аналогичном вопросе:
Неявный возврат, но только если блока нет.
blockquote>
- ] Это приведет к ошибкам, когда однострочный шрифт будет расширяться до нескольких строк, и программист забывает добавить
return
.- Неявный возврат является синтаксически неоднозначным.
(name) => {id: name}
возвращает объект{id: name}
... правильно? Неправильно. Он возвращаетundefined
. Эти фигурные скобки являются явным блоком.id:
- это метка.Я бы добавил к этому определение блока :
Оператор блока (или составной оператор на других языках) используется для группировки нулевых или более операторов. Блок разделен на пару фигурных скобок.
blockquote>Примеры:
// returns: undefined // explanation: an empty block with an implicit return ((name) => {})() // returns: 'Hi Jess' // explanation: no block means implicit return ((name) => 'Hi ' + name)('Jess') // returns: undefined // explanation: explicit return required inside block, but is missing. ((name) => {'Hi ' + name})('Jess') // returns: 'Hi Jess' // explanation: explicit return in block exists ((name) => {return 'Hi ' + name})('Jess') // returns: undefined // explanation: a block containing a single label. No explicit return. // more: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label ((name) => {id: name})('Jess') // returns: {id: 'Jess'} // explanation: implicit return of expression ( ) which evaluates to an object ((name) => ({id: name}))('Jess') // returns: {id: 'Jess'} // explanation: explicit return inside block returns object ((name) => {return {id: name}})('Jess')
$
- это идентификатор JavaScript, обычно используемый как сокращение для объекта jQuery.
В коде серверной части Google Apps Script мы не можем использовать что-то вроде
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Вместо «ajax» мы могли бы использовать службу поиска URL [112 ] для HTTP-запросов или службы JDBC для подключения к внешним базам данных.
Ссылка