自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何優(yōu)雅的判斷 js 的所有類型?

開發(fā) 前端
在 JavaScript 中,可以使用 typeof 操作符來判斷一個變量的數(shù)據(jù)類型。但是,對于一些特殊的數(shù)據(jù)類型,例如 null 和 array,typeof 操作符不能正確識別。

在 JavaScript 中,可以使用 typeof 操作符來判斷一個變量的數(shù)據(jù)類型。但是,對于一些特殊的數(shù)據(jù)類型,例如 null 和 array,typeof 操作符不能正確識別。

因此,最佳做法是使用Object.prototype.toString.call() 方法來判斷一個變量的數(shù)據(jù)類型。該方法返回一個字符串,表示該變量的類型,可以通過分析該字符串來判斷變量的數(shù)據(jù)類型。

下面是一個示例函數(shù),用于優(yōu)雅地判斷 JavaScript 中的所有類型:

javascriptCopy codefunction getType(obj) {
return Object.prototype.toString.call(obj).slice(8, -1);
}

然后,您可以使用該函數(shù)來判斷變量的數(shù)據(jù)類型:

javascriptCopy codelet num = 123;
console.log(getType(num)); // "Number"

let str = "Hello World";
console.log(getType(str)); // "String"

let arr = [1, 2, 3];
console.log(getType(arr)); // "Array"

let obj = { name: "John Doe" };
console.log(getType(obj)); // "Object"

let func = function() {};
console.log(getType(func)); // "Function"

let n = null;
console.log(getType(n)); // "Null"

let u = undefined;
console.log(getType(u)); // "Undefined"

如果您需要更細粒度的數(shù)據(jù)類型判斷,比如判斷是否是數(shù)組、對象等,則可以使用以下方法:

javascriptCopy codelet num = 123;
console.log(Array.isArray(num)); // false
console.log(typeof num === 'object'); // false
console.log(num instanceof Object); // false

let arr = [1, 2, 3];
console.log(Array.isArray(arr)); // true
console.log(typeof arr === 'object'); // true
console.log(arr instanceof Object); // true

let obj = { name: "John Doe" };
console.log(Array.isArray(obj)); // false
console.log(typeof obj === 'object'); // true
console.log(obj instanceof Object); // true
責任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2020-05-14 09:15:52

設(shè)計模式SOLID 原則JS

2020-05-08 14:45:00

JS代碼變量

2022-03-01 21:25:30

對象代碼Proxy

2015-11-26 10:53:45

LinuxWindowsMac OS

2017-07-26 11:32:50

NETRabbitMQ系統(tǒng)集成

2021-01-19 10:35:49

JVM場景函數(shù)

2023-12-11 18:20:21

Vue.js事件機制傳遞

2020-10-16 11:48:06

服務(wù)器系統(tǒng)運維

2023-10-10 13:23:18

空指針異常Java

2023-10-19 19:42:25

IstioPodkubernetes

2022-09-09 15:17:02

CentOS 7Linux

2020-08-26 07:17:19

通信

2024-06-24 14:19:48

2018-06-24 09:27:55

線程Tomcat多線程

2021-03-04 08:19:31

警告屏蔽函數(shù)

2021-11-15 06:56:45

系統(tǒng)運行空指針

2022-04-11 08:17:07

JVMJava進程

2022-02-18 17:34:47

數(shù)組多維五維數(shù)組

2023-06-16 09:08:39

ReactContextRFC

2010-06-28 15:48:51

SQL Server
點贊
收藏

51CTO技術(shù)棧公眾號