now i am a bit confuse:) is my patch correct that i do or is the current behavior correct?
if i read this: http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf and then 11.8.6 i dont really se what should happen if Result(2) is null. but 15.3.5.3 tells a bit more about the HashInstance method an there it tells use that if it is null then return false So i guess he patch that i made should be done in the core of rhino (browsers do also the same) johan On Thu, Jun 25, 2009 at 18:10, Norris Boyd <[email protected]> wrote: > On Jun 25, 10:36 am, Johan Compagner <[email protected]> wrote: > > Hi, > > > > in java you can use the instanceof check on null and that will return > false. > > But in rhino this results in a undefined error. > > > > var str = "str" > > if (str instanceof String) // works > > > > but > > > > var str = null; // or just var str; so undefined.. > > if (str instanceof String) // doesnt works > > > > is this the spec? Or just a bug in rhino > > > > If i patch rhino: > > > > ScriptRuntime: *public* *static* *boolean* instanceOf(Object a, Object b, > > Context cx) > > > > i add the line: > > > > * > > > > if > > * (a == *null* || a == Undefined.*instance*) *return* *false*; > > > > right after the if(b) check. Then above code works and i dont have to add > > extra checks for null.. > > > > johan > > This is correct. See ECMA 262, section 11.8.6. > > --N > _______________________________________________ > dev-tech-js-engine-rhino mailing list > [email protected] > https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino > _______________________________________________ dev-tech-js-engine-rhino mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino
