Javascript是一種十分強大的腳本語言。作為一種面向對象的語言,它依賴于對象,在Javascript中我們可以使用typeof和instanceof兩種方式來進行對象類型的檢查。下面我們將詳細介紹如何使用這兩種方式來判斷對象類型與實現類型轉換等功能。
Javascript中的typeof操作符可以用來判斷基礎數據類型,比如字符串、數字、布爾值、Undefined和null等。例如:
console.log(typeof "hello world"); //'string' console.log(typeof 123); // 'number' console.log(typeof true); // 'boolean' console.log(typeof undefined); // 'undefined' console.log(typeof null); // 'object'
需要注意的是,typeof null返回的是object而并不是null,這是Javascript編程歷史上的一個錯誤,可能永遠都無法被修正了。
instanceof操作符可以用來判斷兩個對象實例是否是同一個類或者是父類、子類關系,它只適用于對象的類型判斷,而不適用于基礎數據類型。例如:
let arr = [1,2,3]; console.log(arr instanceof Array); //true let p = new Person('Tom'); console.log(p instanceof Person); //true
instanceof操作符需要注意的是,如果對象是通過繼承而來的,則該操作符也會認為其是派生類而非基礎類。
當我們需要將一個變量強制類型轉換為指定類型時,可以使用JavaScript中提供的Number、String、Boolean、Object這些構造函數。
let numStr = "30"; let num = Number(numStr); console.log(typeof num); // 'number' let boolVal = true; let stringVal = String(boolVal); console.log(typeof stringVal); // 'string'
同樣的,我們也可以使用parseInt、parseFloat、toString、valueOf等函數來完成類型轉換。例如:
let strVal = "10"; console.log(parseInt(strVal)); //10 let numVal = 10.5; console.log(numVal.toString()); //'10.5'
在Javascript中,判斷對象類型是非常重要且常見的操作之一。我們應該多加練習,熟練掌握各種方法的使用及其注意點,以便我們在編寫代碼時能夠更加得心應手。