# [JavaScript (Node.js)], 108 bytes, [Double](https://codegolf.stackexchange.com/questions/135365/will-it-halt-robbers/226107#226107) [Cracked](https://codegolf.stackexchange.com/questions/135365/will-it-halt-robbers/226106#226106) <!-- language-all: lang-javascript --> f=y=>(x=>{for(;typeof y=='string'&&x===x;);})(f['constructor'](`return +[${y.replace(/[^W-`*-0]/g,'')}]`)()) [Try it online!][TIO-koytdei6] [JavaScript (Node.js)]: https://nodejs.org [TIO-koytdei6]: https://tio.run/##DclBDoIwEADAr3Aw7K6KeCfLNzw0NTS1JRjTkqUYGsLbq3Odt/maxco0pybElyvFc@YeN@53HwW7lGcXfZWZYUkyhRHqemPmraPuIPQKbAz/WW2KAhoHcWmVUF3Uac83cfPHWIetej6a4dzcdTteAejQAyFR8QgGqPwA "JavaScript (Node.js) – Try It Online" Fixed a bug that allowed errors... >! My intended solution was `[][+[]]+[]][+[]`. This evaluates to coercing undefined to an integer, which is NaN, and `NaN !== NaN`.