mirror of
				https://github.com/tc39/test262.git
				synced 2025-11-04 05:33:50 +01:00 
			
		
		
		
	After @rwaldron's feedback: The purpose of the `!` operator is to evaluate an UnaryExpression, coerce the result to a boolean value and then return the negated value of that operation. But that's not what you're trying to do at all—you just want to evaluate the expression to the right of the operator, nothing more, nothing less. In this specific case, you don't even really care about the evaluation, the goal is write valid (or invalid, as the case may be) syntax that is will be parsed according to a specific grammar rule that requires some operator to signal that the thing is an expression and not a Block Statement.
		
			
				
	
	
		
			15 lines
		
	
	
		
			349 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
		
			349 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// Copyright 2016 Microsoft, Inc. All rights reserved.
 | 
						|
// This code is governed by the BSD license found in the LICENSE file.
 | 
						|
 | 
						|
/*---
 | 
						|
author: Brian Terlson <brian.terlson@microsoft.com>
 | 
						|
esid: pending
 | 
						|
description: It is a SyntaxError if FormalParameters contains await
 | 
						|
negative:
 | 
						|
  phase: early
 | 
						|
  type: SyntaxError
 | 
						|
---*/
 | 
						|
({
 | 
						|
  async foo (await) {  }
 | 
						|
})
 |