Array index is out of range on simple C# script

So I have a stupidly simple script and I am getting an Idex out of range error on it and can’t figure out what’s wrong with it.

My code:
using UnityEngine;
using System.Collections;

public class BoardMovement : MonoBehaviour {

    private int NextSpaceNum = 0;
    private Vector2 target;
    public Transform[] BoardSpots;
    public float MovementSpeed = 2f;

    void Start()
    {
        this.MovePiece(); //Testing MovePiece();
    }

    public void MovePiece()
    {
        this.target = this.BoardSpots[0].position;
        this.transform.position = Vector2.MoveTowards(this.transform.position, target, MovementSpeed * Time.deltaTime);
        
    }
}

I hard coded the index in and I even tried changing “public Transform BoardSpots;” to “public Transform BoardSpots = new Transform[100];” but I still keep getting an out of range exception. I have dragged 3 Empty GameObject(Transform) 's into my array via the Inspector window.
82210-capture2.png

oh wow now I feel stupid. I did the Debug.Log and found that it was logging twice so I went through all of my Game Objects and somehow the script got attached to another object that it should not have been attached too and of course sense I did not know it was there it was never initialized.

Also the “this” keyword is the proper way to refer to data that is a member of a class and will not hurt the code if it is there.

Thanks for the help
~Zero