I have seen objects being created this way:
const obj = new Foo;
But I thought that the parentheses are not optional when creating an objec
If you do not have arguments to pass, the parentheses are optional. Omitting them is just syntactic sugar.