mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-10-27 21:57:39 +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:
@@ -793,7 +793,7 @@ $tw.Tiddler = function(/* [fields,] fields */) {
|
||||
value = src[t];
|
||||
}
|
||||
// Freeze the field to keep it immutable
|
||||
if(typeof value === "object") {
|
||||
if(value != null && typeof value === "object") {
|
||||
Object.freeze(value);
|
||||
}
|
||||
this.fields[t] = value;
|
||||
|
||||
Reference in New Issue
Block a user