I know there are several questions on valid identifier names, property names, reserved words etc., but there is some variation (and much verbosity) in the answers. I would just like to know the answer for a very specific case.

The reason for wanting to use the name `eval`, is that this is for a node module that will actually evaluate code (in another language), so it feels like the most appropriate name.

So my question is:

Can I do this?

```
function Foo() { ... }

Foo.prototype.eval = function(args) { ... }

```

Or in ES6, this?

```
class Foo {
  ...

  eval(args) { ... }
}

```

And what would be the drawbacks, assuming this is technically valid?