code: function isKeyword(id) {
          var keyword = false;
          switch (id.length) {
          case 2:
              keyword = (id === 'if') || (id === 'in') || (id === 'do');
              break;
          case 3:
              keyword = (id === 'var') || (id === 'for') || (id === 'new') || (id === 'try');
              break;
          case 4:
              keyword = (id === 'this') || (id === 'else') || (id === 'case') || (id === 'void') || (id === 'with');
              break;
          case 5:
              keyword = (id === 'while') || (id === 'break') || (id === 'catch') || (id === 'throw');
              break;
          case 6:
              keyword = (id === 'return') || (id === 'typeof') || (id === 'delete') || (id === 'switch');
              break;
          case 7:
              keyword = (id === 'default') || (id === 'finally');
              break;
          case 8:
              keyword = (id === 'function') || (id === 'continue') || (id === 'debugger');
              break;
          case 10:
              keyword = (id === 'instanceof');
              break;
          }
  
          if (keyword) {
              return true;
          }
  
          switch (id) {
          // Future reserved words.
          // 'const' is specialized as Keyword in V8.
          case 'const':
              return true;
  
          // For compatiblity to SpiderMonkey and ES.next
          case 'yield':
          case 'let':
              return true;
          }
  
          if (strict && isStrictModeReservedWord(id)) {
              return true;
          }
  
          return isFutureReservedWord(id);
      }
docs: 7.6.1.1 Keywords