2013-11-04 122 views
0

我不確定這是否正確,但IMO輸出TRUE而輸出FALSE。貓鼬:嵌套屬性爲空

我做錯了什麼?

var mongoose = require('mongoose'); 

var NestedSchema = new mongoose.Schema({ 
    nestedProperty: { 
     nestedValue: String 
    } 
}); 

var Nested = mongoose.model('Nested', NestedSchema); 

var instance = new Nested(); 

instance.nestedProperty = null; 

console.log(instance.nestedProperty == null); 

回答

0

該值存儲爲(類型)字符串。

console.log(instance.nestedProperty == "null"); // true 
    console.log(typeof instance.nestedProperty === "string"); // false 
+0

好的。但是,這真的是檢查/斷言/ ...可能被認爲是一個錯誤? – user2953088

+0

確實很煩人。這與檢查_「undefined」_而不是_undefined_相同。我會說你可以把它當成一個bug。但是,由於_nestedProperty_是_string_類型,因此可能會有一些解釋。如果沒有_string_類型將_null_轉換爲_string_類似,那麼值得測試。 –