this.get('x')返回'undefined'而不是'undefined'

时间:2016-01-31 01:30:17

标签: ember.js

在表单组件中,我有一个观察者,在开始进一步验证之前测试一个属性是否有效 所以我检查了属性是否尚未定义(在初始化时发生)。

if(typeof this.get('myProperty') !== 'undefined') { 
    //do smth 
}

然后我意识到this.get不会返回'undefined'类型,而是返回值为undefined的字符串。
很公平。

BUT

console.log(this.get('myProperty'));

给我'undefined'而不是'undefined' - 注意'undefined'之前的空格!

这是一个错误吗? 或者我真的必须用空格检查'undefined'并且有这个原因吗?

Ember-cli:1.13.7
恩伯:2.0.1

1 个答案:

答案 0 :(得分:0)

你如何使用Ember.isNone或Ember.isEmpty。对于相反的Ember.isPresent

如果参数为null或未定义,则返回true。

Ember.isNone(); // true
Ember.isNone(null); // true
Ember.isNone(undefined); // true
Ember.isNone(''); // false
Ember.isNone([]); // false
Ember.isNone(function(){}); // false

此实用程序函数通过为空字符串和空数组返回false来约束Ember.none上的规则。

Ember.isEmpty(); // true
Ember.isEmpty(null); // true
Ember.isEmpty(undefined); // true
Ember.isEmpty(''); // true
Ember.isEmpty([]); // true
Ember.isEmpty('tobias fünke'); // false
Ember.isEmpty([0,1,2]); // false