By definition empty blocks answer nil and empty methods answer self (these are the usual Smalltalk rules).
Writing unused temporaries is bad style (Smalltalks will usually offer to remove them.)
There’s nothing to see here?
{ }.value == nil // empty blocks answer nil
{ var x; }.value == nil // also with unused temporaries
{ var x = 1; }.value == nil // also with unused initialised temporaries