是否可以測試變量以查看它是否是原始的?測試一個變量是一個基元而不是一個對象嗎?
我看過很多關於測試變量的問題,以查看它是否爲對象,但不測試基元。
這個問題是學術性的,我實際上並不需要從我自己的代碼中執行這個測試。我只是想深入瞭解JavaScript。
是否可以測試變量以查看它是否是原始的?測試一個變量是一個基元而不是一個對象嗎?
我看過很多關於測試變量的問題,以查看它是否爲對象,但不測試基元。
這個問題是學術性的,我實際上並不需要從我自己的代碼中執行這個測試。我只是想深入瞭解JavaScript。
爲了測試任何原始:
function isPrimitive(test) {
return (test !== Object(test));
};
實施例:
isPrimitive(100); // true
isPrimitive(new Number(100)); // false
Object
接受一個參數,並返回它是一個對象,或以其它方式返回一個對象。
然後,您可以使用嚴格的相等比較,比較類型和值。
如果value
是一個對象,Object(value)
將是相同的對象,所以value === Object(value)
。如果價值不是一個對象,value !== Object(value)
,因爲它們會有不同的類型。
所以,你可以使用
Object(value) !== value
特定類型的原始,或者只是任何舊的不去,一個對象的原始? –
您是否嘗試過使用'typeof myVar!=='object'&& typeof myVar!=='string'...'? – Justinas
相關文檔:['typeof' operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof) –