diff --git a/Libraries/LibJS/Parser.cpp b/Libraries/LibJS/Parser.cpp index b9b6cf0025..e608e87a87 100644 --- a/Libraries/LibJS/Parser.cpp +++ b/Libraries/LibJS/Parser.cpp @@ -440,8 +440,10 @@ NonnullRefPtr Parser::parse_object_expression() while (!done() && !match(TokenType::CurlyClose)) { FlyString property_name; + auto need_colon = true; if (match_identifier_name()) { property_name = consume().value(); + need_colon = false; } else if (match(TokenType::StringLiteral)) { property_name = consume(TokenType::StringLiteral).string_value(); } else if (match(TokenType::NumericLiteral)) { @@ -457,7 +459,7 @@ NonnullRefPtr Parser::parse_object_expression() continue; } - if (match(TokenType::Colon)) { + if (need_colon || match(TokenType::Colon)) { consume(TokenType::Colon); properties.set(property_name, parse_expression(0)); } else {