class="article_content clearfix">
class="htmledit_views">
背景
开发环境使用 constructor.name 判断实例是否与类名一致,一点问题没有。但编译后的生产环境就不尽人意....
示例
这是一个简单的类 People,传入属性 name 值,调用方法 sayHello()。
class="language-class="tags" href="/tags/JAVASCRIPT.html" title=javascript>javascript">class People {
constructor(name) {
this.name = name;
}
sayHello() {
console.log(`Hello, ${this.name} !`)
}
}
调用
class="language-class="tags" href="/tags/JAVASCRIPT.html" title=javascript>javascript">// 实例
let p = new People('李四');
// 用于在开发环境和生产环境做对比
console.log('实例', JSON.stringify(p), p.constructor.name);
// 判断
if(p.constructor.name === 'People') {
p.sayHello();
}
说明
接下来我们在开发环境和生产环境做一下对比~
开发环境
生产环境