gpt4 book ai didi

ember.js - 使用Ember CLI和ES6语法 `export default`如何知道导出是否为Ember.Object

转载 作者:行者123 更新时间:2023-12-02 05:59:38 25 4
gpt4 key购买 nike

当我使用Ember CLI和ES6语法export default something时,我真的很想知道导出的something是否为Ember.Object。我可以检查该对象以确保它是Ember.Object还是扩展Ember.Object?

// app/repos/wat.js
import Ember from "ember";

var wat = Ember.Object.extend({
doSomething: function() {
console.log("do stuff");
}
});

export default wat;

// app/utils/wat.js
import Ember from "ember";
import wat from "../repos/wat";

console.log(wat instanceof Ember.Object);

// console.log above returns false

最佳答案

只需使用instanceof:

import SomeObject from 'some-place';
var isEmberObject = SomeObject instanceof Ember.Object;

编辑:对不起,我回答得太快了。该版本仅适用于实例,不适用于类。要检查类是否扩展了 Ember.Object,可以执行以下操作:
import SomeClass from 'some-other-place';
var isEmberClass = SomeClass.prototype instanceof Ember.Object

您也可以使用 isPrototypeOf:
import SomeClass from 'some-other-place';
var isEmberClass = Ember.Object.prototype.isPrototypeOf(SomeClass.prototype);

关于ember.js - 使用Ember CLI和ES6语法 `export default`如何知道导出是否为Ember.Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29528226/

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