Question: So we had the Discussion today in our company about `+new Date()` being good practice or not.
Some prefer this way over `new Date().getTime()`.

In my opinion, this is pretty convenient but on the other side one would say it's harder to read.

Are there any pros or cons besides the obvious "It's harder to understand for people not familiar with the unary operator"?

Answer: 
The `getTime` method appears to be a [huge amount faster](http://jsperf.com/get-time-vs-unary-plus):

![enter image description here](https://i.stack.imgur.com/Fz4y9.png)

**Why is this the case?**

Here's what happens when you call the `getTime` method on a `Date` instance:

1. Return the value of the [`[[PrimitiveValue]]`](http://es5.github.com/#x15.9.3.2) internal property of this Date object.

Here's what happens when you apply the unary plus operator to a `Date` instance:

1. [Get the value](http://es5.github.com/#x8.7.1) of the `Date` instance in question
2. [Convert it to a Number](http://es5.github.com/#x9.3)
	1. [Convert it to a primitive](http://es5.github.com/#x9.1)
		1. Call the internal [`[[DefaultValue]]`](http://es5.github.com/#x8.12.8) method
After thinking about this the last years a lot I came to the conclusion that performance is not a factor here.

So here is the solution I prefer in terms of readability:

`Date.now();`