function foo(o, value) { | |
try { | |
throw { o: 1 }; | |
} catch({ o }){ | |
if (o !== 1) | |
throw new Error(); | |
o = 2; | |
} | |
if (o !== value) | |
throw new Error(); | |
try { | |
throw [ 1 ]; | |
} catch([ o ]){ | |
if (o !== 1) | |
throw new Error(); | |
o = 2; | |
} | |
if (o !== value) | |
throw new Error(); | |
} | |
foo("string", "string"); | |
function bar(value) { | |
let o = value; | |
try { | |
throw { o: 1 }; | |
} catch({ o }){ | |
if (o !== 1) | |
throw new Error(); | |
o = 2; | |
} | |
if (o !== value) | |
throw new Error(); | |
try { | |
throw [ 1 ]; | |
} catch([ o ]){ | |
if (o !== 1) | |
throw new Error(); | |
o = 2; | |
} | |
if (o !== value) | |
throw new Error(); | |
} | |
bar("string"); | |
function bar(value) { | |
const o = value; | |
try { | |
throw { o: 1 }; | |
} catch({ o }){ | |
if (o !== 1) | |
throw new Error(); | |
o = 2; | |
} | |
if (o !== value) | |
throw new Error(); | |
try { | |
throw [ 1 ]; | |
} catch([ o ]){ | |
if (o !== 1) | |
throw new Error(); | |
o = 2; | |
} | |
if (o !== value) | |
throw new Error(); | |
} |