javascript - Kyle Simpson 的 OLOO 模式如何处理未初始化的对象?
问题描述
假设从另一个 OLOO 问题中提取的下一个示例:
var Foo = {
init: function(who) {
this.initialized = true;
this.me = who;
},
checkIfInitialized: function() {
if(!this.initialized) throw new Error('Not initialized')
},
identify: function() {
checkIfInitialized()
return "I am " + this.me;
},
sayHi: function() {
checkIfInitialized()
return "Hi " + this.me;
},
sayGoodBye: function() {
checkIfInitialized()
return "Goodbye " + this.me;
}
};
在这里,如果在调用函数之前对象未初始化,我想抛出错误或拒绝识别调用。但是,我不想在 Object 的每个公共例程中添加验证器。
如何在不重复该行为的情况下处理它?
解决方案
推荐阅读
- python - 每月显示的唯一 ID 的滚动 12 个月计数
- swift - 使用 SegmentedPickerStyle 为 SwiftUI Picker 设置段等宽
- php - 使用 php IF 显示图标
- java - 我想解析一个 Gson 信息但出现错误
- php - 完全不使用大框架的 PHP 路由
- java - servlet [] 的异常 org.apache.catalina.core.ApplicationContext.log Servlet.init() 抛出异常 java.lang.IllegalArgumentException
- android - Kotlin Coroutines 等待作业完成
- python - 使用 pandas 或 numpy 求解自定义方程
- node.js - 我在带有猫鼬的节点 js 中遇到此错误,E11000 重复键错误集合:domesticIndia.pans index: pan_id_1 dup key: { pan_id: null }
- javascript - toUpperCase 不能在 JavaScript 中使用对象中的项目