Сравнения реального мира Glassfish и JBoss 5?

JavaScript, эквивалентный из пустого оператора (??) объединения C#, использует логическое ИЛИ (||):

var whatIWant = someString || "Cookies!";

существуют случаи (разъясненный ниже), что поведение не будет соответствовать поведению C#, но это - общий, краткий способ присвоить значения по умолчанию/альтернативные в JavaScript.

<час>

Разъяснение

Независимо от типа первого операнда, при кастинге его к булевской переменной приводит к false, присвоение будет использовать второй операнд. Остерегайтесь всех случаев ниже:

alert(Boolean(null)); // false
alert(Boolean(undefined)); // false
alert(Boolean(0)); // false
alert(Boolean("")); // false
alert(Boolean("false")); // true -- gotcha! :)

Это означает:

var whatIWant = null || new ShinyObject(); // is a new shiny object
var whatIWant = undefined || "well defined"; // is "well defined"
var whatIWant = 0 || 42; // is 42
var whatIWant = "" || "a million bucks"; // is "a million bucks"
var whatIWant = "false" || "no way"; // is "false"
23
задан jsight 4 August 2009 в 18:54
поделиться

5 ответов

Просто используйте