gpt4 book ai didi

javascript - 如何获取 "type check"函数参数?

转载 作者:行者123 更新时间:2023-11-30 12:46:17 25 4
gpt4 key购买 nike

检查 Object.create 或文字创建的对象类型的最佳方法是什么,例如以下代码。我想确保函数的参数可以安全使用。也许我不应该检查参数的类型,而是检查函数使用的属性是否未定义。但是这样做似乎很繁琐。最好的方法是什么,谢谢。

var base = {
name : "abc"
};

var child = Object.create(base);
do_something = function(o) {
if (typeof(o) === "base") { // will not work
...
}
}

最佳答案

typeof只能返回基本类型,如 object、strirng、number、undefined。

typeof o === "object"

instanceof如果您从基类继承,则可以使用。例如这里MDN

function Base() {
this.name = "abc";
}
var child = new Base();
var a = child instanceof Base; //true

的实例需要格式 <object> insanceof <function>


您可以使用 isPrototypeOf()使用 Object.create() 继承时

var base = {name; "abc"};
var child = Object.create(base);

base.isPrototypeOf(child);

更多信息可以在这里阅读:Mozilla Developer Network: isPrototypeOf


检查是否存在对象o具有属性 name非空,你可以做

if(typeof o === "object" && typeof o.name !== "undefined")

如果 name 可以使用速记不会举行 falsy0 这样的值

if(o && o.name)

关于javascript - 如何获取 "type check"函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22397708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com