How to translate an object correctly?

I am trying to let object A moves toward object B. I can get the direction vector by subtracting the position of A from the position of B so that I can use the function “transform.Translate”.
Now the problem is if I accidentally flip A , the local coordinate system will also be flipped, which results in A will move in another direction.

You should specify which coordinate space you want to use when moving your object.

// Moves in the towardB direction in A's local space (which rotates with it)
transform.Translate (towardB); // Default "Space" parameter is Space.Self 

// Moves in the towardB direction in world space and is unaffected by rotation
transform.Translate (towardB, Space.World);