diff --git a/lib/handlebars/compiler/javascript-compiler.js b/lib/handlebars/compiler/javascript-compiler.js index 641daecb6..75f996071 100644 --- a/lib/handlebars/compiler/javascript-compiler.js +++ b/lib/handlebars/compiler/javascript-compiler.js @@ -1025,7 +1025,8 @@ var reservedWords = ( " class float package throws" + " const goto private transient" + " debugger implements protected volatile" + - " double import public let yield" + " double import public let yield await" + + " null true false" ).split(" "); var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {}; diff --git a/spec/javascript-compiler.js b/spec/javascript-compiler.js index 426056729..fb7865854 100644 --- a/spec/javascript-compiler.js +++ b/spec/javascript-compiler.js @@ -19,6 +19,12 @@ describe('javascript-compiler api', function() { }; shouldCompileTo("{{foo}}", { bar_foo: "food" }, "food"); }); + + // Tests nameLookup dot vs. bracket behavior. Bracket is required in certain cases + // to avoid errors in older browsers. + it('should handle reserved words', function() { + shouldCompileTo("{{foo}} {{~null~}}", { foo: "food" }, "food"); + }); }); describe('#compilerInfo', function() { var $superCheck, $superInfo;