gpt4 book ai didi

javascript - javascript 中的 .get 等价于什么?

转载 作者:太空狗 更新时间:2023-10-29 17:14:46 26 4
gpt4 key购买 nike

d = {'hello':'abc'}
d.get('hello','default_val');

上面是python。如何在 javascript 中执行此操作?如果找不到 key ,我希望能够设置默认值。

最佳答案

您(至少)有四种选择:

  1. 在很多情况下,您可以使用 the curiously-powerful || operator :

    x = obj.key || "default";

    这意味着:将 x 设置为 obj.key 除非 obj.keyfalsy,在这种情况下使用 "default" 代替。伪值是 undefined, null, 0, NaN, "",当然,false。因此,如果 obj.key 可能有效地为 0 或这些值中的任何其他值,您将不想使用它。

  2. 对于 || 不适用的情况,可以使用 in 运算符:

    x = "key" in obj ? obj.key : "default";

    in 告诉我们对象是否具有具有给定键的属性。请注意,键是一个字符串(属性名称是字符串或符号;如果您使用的是符号,您就会知道)。因此,如果 obj.key 可能是有效的 0,您会希望使用它而不是上面的 #1。

  3. in 将找到一个键,如果它在对象对象的原型(prototype)链中(例如,如果您从中获取它的所有地方)检索属性)。如果你只想检查对象本身而不是它的原型(prototype)链,你可以使用hasOwnProperty:

    x = obj.hasOwnProperty("key") ? obj.key : "default";
  4. 专门检查undefined:

    x = typeof obj.key !== "undefined" ? obj.key : "default";

    如果 obj 没有该属性或者如果它有该属性,但该属性的值为 undefined,则将使用默认值.

关于javascript - javascript 中的 .get 等价于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6855620/

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