なぜこれはコンパイルされないのですか?
function (newDoc, oldDoc, userCtx) {
if (newDoc !== null) {
if (newDoc.type.toLowerCase() === 'test') {
let thisDoesNotWork = 5;
}
}
}
それはスローします:
{
"error": "compilation_error",
"reason": "Expression does not eval to a function. (function (newDoc, oldDoc, userCtx) { if (newDoc !== null) { if (newDoc.type.toLowerCase() === 'test') { let thisDoesNotWork = 5; } } })"
}
新しいキーを追加して newDoc に拡張しようとすると、次のようにも機能せず、同じエラーがスローされますが、宣言するだけではなく、使用しようとした場合にのみスローされます。
function (newDoc, oldDoc, userCtx) {
if (newDoc !== null) {
if (newDoc.type.toLowerCase() === 'test') {
let newDoc.thisDoesNotWork = 5;
}
}
}