I have been using both approach a lot in my scripts, and I feel like sharing one thing or two about moving a layer to the top.
var currentDocument = app.activeDocument;
var layers = currentDocument.activeLayers;
var SelectedLayer = layers;
In fact, both options seems to be equivalent at first, but they yeild different results, especially if you have nested Groups & Layers in the PS layers stack.
Let’s have a closer look.
→ Case 1
PS stack with a bunch of layers, one group and a layer inside:
Let’s say we want to move the Yellow layer “Layer 3” to the top.
Using Option #1 or Option #2 will give the same result:
Indeed, moving the yellow “Layer 3” to the top is done in the same fashion with either Option #1 or Option #2.
Now, let’s examine the case where Option #1 and Option #2 begins to show different results.
→ Case 2
Consider this layer stack with nested groups:
Let’s say we want to move the Red layer “Layer 3” to the top.
This is the result when using Option #1
And this is the result when using Option #2
As you can see, Option #1 and Option #2 are not equivalent anymore.
Beware of nested Groups & Layers structure.
Option #2 moves “Layer 3” to the top, yes, but to the top of the group it was contained in. Note: If you’d wat to move it at the very top of the PS stack, you’d have to call batchPlay Option#2 twice (in this particular case because of nested levels).
On the other hand, Option #1 moves “Layer 3” to the top of the layer stack itself.
If you want to be extra-sure that “Layer 3” will be move to the top regardless of the PS stack structure, then Option #1 is probably your best friend.
Personally, I consider Option #1 to be the safest. It does what it should be doing: move the layer to the (very) top, no matter how the PS stack looks like.
Finally, it depends on your particular need and expectations.
Hope this helps