JavaScript (Node.js), 108 bytes, Double Cracked
f=y=>(x=>{for(;typeof y=='string'&&x===x;);})(f['constructor'](`return +[${y.replace(/[^W-`*-0]/g,'')}]`)())
Fixed a bug that allowed errors...
My intended solution was
[][+[]]+[]][+[]
. This evaluates to coercing undefined to an integer, which is NaN, andNaN !== NaN
.