Object 3d getWorldPosition by changing position and quantenion and corresponding matrix operation

I have a hierarchy bones array.
I want to get each bone’s world position by setting bone.position and bone.quaternion.
But bone.getWorldPosition() never change, so does bone.matrix and bone.matrixWorld

In the code,
first I console.log initial data,
then set position and quatenoin,
then update every matrix of bone
final I console.log data again.

The bone.position not change is fine because I don’t change it.
The bone.quatenion change properly.

But “bone.matrix” not change, so does “bone.getWorldPosition()”

Is that operation illegal from three.js ?

Ps: My main purpose is to get bone’s every frame global position from keyframetrack.