isReservedWord

написать функцию которая определяет является ли переданная строка зарезервированным словом

by Anastasia Sharko

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/3.5.0/chai.min.js"></script>
<div id="mocha">
</div>
<script>
  mocha.setup('bdd');
  var assert = chai.assert;
  var expect = chai.expect;
</script>
<script>

  describe("isReservedWord", function() {
    before(function () {
      chai.config.includeStack = false;
    });
    var checkedFunction = window.isReservedWord
    
    describe('формат', function() {
      it("объявлена", function() {
        assert.isFunction(checkedFunction, checkedFunction.name);
      });
      it("принимает 1 аргумент", function() {
        assert.equal(checkedFunction.length, 1);
      });
    });
    describe('проверки', function() {
    	it('обычное значение возвращает false', function() {
      	assert.isFalse(checkedFunction('general_value'))
      })
      it('arguments возвращает true', function() {
      	assert.isTrue(checkedFunction('arguments'))
      })
      it('debugger возвращает true', function() {
				assert.isTrue(checkedFunction('debugger'))
      })
      it('delete возвращает true', function() {
				assert.isTrue(checkedFunction('delete'))
      })
      it('else возвращает true', function() {
      	assert.isTrue(checkedFunction('else'))
      })
      it('export возвращает true', function() {
				assert.isTrue(checkedFunction('export'))
      })
      it('eval возвращает true', function() {
				assert.isTrue(checkedFunction('eval'))
      })
      it('class возвращает true', function() {
      	assert.isTrue(checkedFunction('class'))
      })
    })
    
  });
  mocha.run();
</script>

JavaScript

function isReservedWord(value) {
    if (
        value === 'arguments' ||
        value === 'debugger' ||
        value === 'delete' ||
        value === 'else' ||
        value === 'export' ||
        value === 'eval' ||
        value === 'class'

    ) {
    	return true
			}
	else{
    return false
    }
}
function compact(array) {
	    var result = []

    for (var i = 0; i < array.length; i++) {
        var element = array[i]
        if (!isReservedWord(array[i])) {
            result.push(element)
        }
    }

    return result
}