# JS Tip of the Day: Constructors Don’t Need Parens

**URL:** <https://forum.kirupa.com/t/js-tip-of-the-day-constructors-don-t-need-parens/643131>\
**Category:** web dev\
**Created:** [April 5, 2020, 12:36pm UTC](https://forum.kirupa.com/t/js-tip-of-the-day-constructors-don-t-need-parens/643131 "2020-04-05T12:36:36Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![senocular](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/senocular/32/7217_2.png) [@senocular](https://forum.kirupa.com/u/senocular)\
**Post date:** [April 5, 2020, 12:36pm UTC](https://forum.kirupa.com/t/js-tip-of-the-day-constructors-don-t-need-parens/643131/1 "2020-04-05T12:36:36Z")

</div>

**Constructors Don’t Need Parens**  
Level: Beginner

When you use `new` to create a new instance with a constructor, if you’re not passing any arguments into that constructor, then you can omit the parenthesis during the call.

```javascript
let anObject = new Object(); // pretty normal
let equallyAnObject = new Object; // less normal, but also works

```

While the `new` operator has a high precedence, it is not greater than that of a property reference. So if you need to access a property immediately from a newly constructed instance, you will need to include the parenthesis. Otherwise it will try to construct the value of the property.

```javascript
console.log(new Array().length); // 0
console.log(new Array.length); // TypeError: Array.length is not a constructor

```

More info:

- [new on MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new)
