mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-12-02 14:29:55 +00:00
Bugfix: Object.freeze() called on null
For five minutes I stared at the following code... if(value != null && typeof value === "object") { Object.freeze(value); } ... and at the error message that led me to this code: `Object.freeze called on non-object` And then I remembered that js treads null as object (http://www.ecma-international.org/ecma-262/5.1/#sec-11.4.3). This means the `typeof === "object"` will not discover null and freeze will throw an error... So `value != null` will also work when value is undefined. A hard to find bug ;)
This commit is contained in:
parent
42499ea6ff
commit
f99a4e7664
@ -793,7 +793,7 @@ $tw.Tiddler = function(/* [fields,] fields */) {
|
|||||||
value = src[t];
|
value = src[t];
|
||||||
}
|
}
|
||||||
// Freeze the field to keep it immutable
|
// Freeze the field to keep it immutable
|
||||||
if(typeof value === "object") {
|
if(value != null && typeof value === "object") {
|
||||||
Object.freeze(value);
|
Object.freeze(value);
|
||||||
}
|
}
|
||||||
this.fields[t] = value;
|
this.fields[t] = value;
|
||||||
|
Loading…
Reference in New Issue
Block a user