Why is this method of checking if a constant exist before defining it:

```
defined('CONSTANT') || define('CONSTANT', somedefinition);

```

used instead of:

```
if !(defined('CONSTANT')) {
    define('CONSTANT', somedefinition);
}

```

Is there any difference in using 'or' instead of '||' in the first method, I have seen both in books.