有沒有一種方法來定義一個方法在object
/class
在JavaScript中像toString
只爲布爾值?示例(ES6):toBoolean方法類似toString
class MyClass {
toBoolean() {
return this.foo === bar;
}
}
,所以我可以做這樣的事情
const myClass = new MyClass();
if (myClass === true) baz();
聽起來很瘋狂給我,但我要問不過。
它甚至不會像字符串那樣工作 – Rhumborl
使用'==='時不會發生類型強制 –
您不能做像C++中重載cast操作符那樣的東西。 'toString'只是有點特殊,因爲許多函數隱式地嘗試在你的對象上調用'toString',但'==='不會做那樣的事情。所以沒有辦法將它神奇地轉換爲布爾值來進行比較。我們仍然需要使用if(myClass.toBoolean()=== true)',然後通過它的實際名稱命名該方法會更有意義。 'if(myClass.isValid())':P – CherryDT