这是如何工作的呢?Type = Type || 'any';

How does this work? type = type || 'any';

本文关键字:Type any 何工作 工作      更新时间:2023-09-26

谁能解释一下这个表达式是如何工作的?

type = type || 'any';

这是否意味着如果类型未定义使用'any'?

如果type为" false "(即false,或undefined或空字符串或null或未定义),则使用"any"

如果变量type为假值,则设置为字符串'any',否则设置为自己的值

这是true OR alternative条件。更简洁,基本上。

测试一下:http://jsfiddle.net/AlienWebguy/ussBZ/3/

var type = 0;
type = type || 'any';
alert('0 = ' + type); // alerts 0 = any
type = 1;
type = type || 'any';
alert('1 = ' + type); // alerts 1 = 1
type = true;
type = type || 'any';
alert('true = ' + type); // alerts true = true
type = false;
type = type || 'any';
alert('false = ' + type); // alerts false = any
type = 'foobar';
type = type || 'any';
alert('foobar = ' + type); // alerts foobar = foobar
type = '';
type = type || 'any';
alert(''''' = ' + type); // alerts '' = any
type = null;
type = type || 'any';
alert('null = ' + type); // alerts null = any
type = new Array();
type = type || 'any';
alert('new Array() = ' + type); // alerts new Array() = 
type = [];
type = type || 'any';
alert('[] ' + type); // alerts [] = 
type = {};
type = type || 'any';
alert('{} = ' + type); // alerts {} = [object Object]
type = new Object;
type = type || 'any';
alert('new Object = ' + type); // alerts new Object = [object Object]

这意味着,如果type计算结果为false,则使用'any'。即如果type为undefined, false, 0,…