--- id: 6437124c4c03dd4c8fb35d56 title: Step 21 challengeType: 0 dashedName: step-21 --- # --description-- Declare an `isEven` function, which takes a `num` parameter and returns `true` if the number is even, and `false` otherwise. Use the modulo operator `%` to determine if a number is even or odd. # --hints-- You should declare an `isEven` variable. ```js assert.match(code, /(?:let|const|var)\s+isEven/); ``` You should use `const` to declare your `isEven` variable. ```js assert.match(code, /const\s+isEven/); ``` Your `isEven` variable should be a function. ```js assert.isFunction(isEven); ``` Your `isEven` function should use arrow syntax. ```js assert.match(code, /const\s+isEven\s*=\s*(\([^)]*\)|[^\s()]+)\s*=>/); ``` Your `isEven` function should have a `num` parameter. ```js assert.match(code, /const\s+isEven\s*=\s*(\(\s*num\s*\)|num)\s*=>/); ``` Your `isEven` function should use the modulo operator `%`. ```js assert.match(isEven.toString(), /%/); ``` Your `isEven` function should return `true` for even numbers. ```js assert.isTrue(isEven(2)); assert.isTrue(isEven(1000)); assert.isTrue(isEven(42)); ``` Your `isEven` function should return `false` for odd numbers. ```js assert.isFalse(isEven(1)); assert.isFalse(isEven(333)); assert.isFalse(isEven(777777777)); ``` # --seed-- ## --seed-contents-- ```html