我喜欢Ruby的||=机制.如果变量不存在或为nil,则创建它并将其设置为:

amount # is nil
amount ||= 0 # is 0
amount ||= 5 # is 0

我现在需要用JavaScript做一些类似的事情.什么是惯例或适当的方式来做到这一点?我知道||=不是有效的语法.两种明显的处理方法是:

window.myLib = window.myLib || {};

// or

if (!window.myLib)
  window.myLib = {};

推荐答案

两者都是绝对正确的,但如果你想在ruby中找到像||=这样的东西.第一种方法是variable = variable || {},这就是你正在寻找的方法:)

Ruby相关问答推荐

为什么非数字在Ruby中被转换为integer?

RSpec 中有没有一种方法可以同时断言调用次数和参数列表?

Ruby 中的 Hash[key] 返回 nil 但 hash 没有 nil 值

如何在加载文件时禁用重新定义常量的警告

如何使 Sinatra 通过 HTTPS/SSL 工作?

Ruby 局部变量未定义

与 String 相比,在 Ruby 中使用 StringIO 有哪些优势?

如何在 ruby​​ net/http 中实现 cookie 支持?

如何通过匹配文本来 Select node

如何在 Ruby 中找到除法的余数?

比较两个数组忽略Ruby中的元素顺序

无法在 Windows 上安装 Aptana Studio 3.6

Mustache Templates 可以做模板扩展吗?

当我将参数传递给脚本时,使用 gets() 会出现没有这样的文件或目录错误

如何转换 Ruby 哈希,使其所有键都是符号?

如何传递函数而不是块

何时使用在 Ruby 中启动子进程的每种方法

Ruby:如何为数组和哈希制作 IRB 打印 struct

如何将 270921sec 转换为天 + 小时 + 分钟 + 秒? (Ruby)

Docker for Mac - mkmf.rb 找不到 ruby​​ 的头文件