ด้วยJavaScript ที่บริสุทธิ์คุณสามารถใช้typeof
และทำสิ่งที่ชอบtypeof false
หรือtypeof true
มันจะส่งคืน"boolean"
...
แต่นั่นไม่ใช่วิธีเดียวที่จะทำอย่างนั้นฉันกำลังสร้างฟังก์ชั่นด้านล่างเพื่อแสดงวิธีการต่าง ๆ ที่คุณสามารถตรวจสอบบูลีนใน JavaScript และวิธีที่คุณสามารถทำได้ในเฟรมเวิร์กใหม่เริ่มด้วย:
function isBoolean(val) {
return val === false || val === true;
}
หรือทางเดียวที่ES6 ...
const isBoolean = val => 'boolean' === typeof val;
และเรียกว่าชอบ!
isBoolean(false); //return true
นอกจากนี้ในUnderscoreซอร์สโค้ดพวกเขาตรวจสอบเช่นนี้ (ด้วย _. ที่จุดเริ่มต้นของชื่อฟังก์ชัน):
isBoolean = function(obj) {
return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
};
นอกจากนี้ในjQueryคุณสามารถตรวจสอบได้ดังนี้:
jQuery.type(true); //return "boolean"
ในReactหากใช้ propTypes คุณสามารถตรวจสอบค่าที่เป็นบูลีนดังนี้
MyComponent.propTypes = {
children: PropTypes.bool.isRequired
};
หากใช้TypeScriptคุณสามารถใช้บูลีนประเภท:
let isDone: boolean = false;
อีกวิธีหนึ่งในการทำเช่นการแปลงค่าเป็นบูลีนและดูว่ามันยังคงเหมือนเดิมหรือไม่:
const isBoolean = val => !!val === val;
หรือชอบ:
const isBoolean = val => Boolean(val) === val;
และเรียกมันว่า!
isBoolean(false); //return true
ไม่แนะนำให้ใช้เฟรมเวิร์กใด ๆ กับสิ่งนี้เนื่องจากเป็นการตรวจสอบที่ง่ายใน JavaScript
true
หรือfalse
พิมพ์บูลีน?