Question: I am exploring neo4j for a large scale optimization application. Basically, I have uploaded a graph of locations to neo4j DB. The use case is to find the shortest path between two nodes. I am able to do this using neo4jclient, however, I have to find the shortest paths between several nodes for each request and I was looking to use Task Parallel Library (c#, .net) to send cypher queries to neo4j for different pairs of locations "in-parallel" and then add up all the distances. I don't see an "async" method in the GraphClient interface in Neo4jClient. Has anyone implemented this kind of parallel cypher queries in .net or is it just not reasonable to expect this kind of parallelism with cypher?

Answer: 
Try it out and see for yourself...

(If nothing is displayed that is because you are [using a browser that doesn't support `let`](http://caniuse.com/#search=let).)

```js
"use strict";

let x = 20;
var z = 20;

document.write(x === z);
```

Read [this answer](https://stackoverflow.com/a/11444416/2039244) for details about the differences between `let` and `var`:

> 
> The difference is scoping. `var` is scoped to the nearest function block (or global if outside a function block), and `let` is scoped to the nearest enclosing block (or global if outside any block), which can be smaller than a function block.
> 
> 
>
`===` does not compare variables - it does compare values. Given that both your variables hold the same value (`20`), they will be "equal".

It does not matter for the equality [how those variables were declared](https://stackoverflow.com/q/762011/1048572), only that both of them are in scope and have that value assigned when the `===` operation is evaluated. Which is the case in your example snippet.