65 lines
1.8 KiB
Markdown
65 lines
1.8 KiB
Markdown
# reserved-words
|
|
|
|
[](http://travis-ci.org/zxqfox/reserved-words)
|
|
|
|
## What is it?
|
|
|
|
Tiny package for detecting reserved words.
|
|
|
|
`Reserved Word` is either a `Keyword`, or a `Future Reserved Word`, or a `Null Literal`, or a `Boolean Literal`.
|
|
See: [ES5 #7.6.1](http://es5.github.io/#x7.6.1) and
|
|
[ES6 #11.6.2](http://www.ecma-international.org/ecma-262/6.0/#sec-reserved-words).
|
|
|
|
## Installation
|
|
|
|
```
|
|
npm install reserved-words
|
|
```
|
|
|
|
## API
|
|
|
|
### check(word, [dialect], [strict])
|
|
|
|
Returns `true` if provided identifier string is a Reserved Word
|
|
in some ECMAScript dialect (ECMA-262 edition).
|
|
|
|
If the `strict` flag is truthy, this function additionally checks whether
|
|
`word` is a Keyword or Future Reserved Word under strict mode.
|
|
|
|
#### Example
|
|
|
|
```
|
|
var reserved = require('reserved-words');
|
|
reserved.check('volatile', 'es3'); // true
|
|
reserved.check('volatile', 'es2015'); // false
|
|
reserved.check('yield', 3); // false
|
|
reserved.check('yield', 6); // true
|
|
```
|
|
|
|
### dialects
|
|
|
|
#### es3 (or 3)
|
|
|
|
Represents [ECMA-262 3rd edition](http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf).
|
|
|
|
See section 7.5.1.
|
|
|
|
#### es5 (or 5)
|
|
|
|
Represents [ECMA-262 5th edition (ECMAScript 5.1)](http://es5.github.io/).
|
|
|
|
Reserved Words are formally defined in ECMA262 sections
|
|
[7.6.1.1](http://es5.github.io/#x7.6.1.1) and [7.6.1.2](http://es5.github.io/#x7.6.1.2).
|
|
|
|
#### es2015 (or es6, 6)
|
|
|
|
Represents [ECMA-262 6th edition](ECMAScript 2015).
|
|
|
|
Reserved Words are formally defined in sections
|
|
[11.6.2.1](http://ecma-international.org/ecma-262/6.0/#sec-keywords) and
|
|
[11.6.2.2](http://ecma-international.org/ecma-262/6.0/#sec-future-reserved-words).
|
|
|
|
### License
|
|
|
|
Licensed under [The MIT License](https://github.com/zxqfox/reserved-words/blob/master/LICENSE)
|