JavaScript Tic-Tac-Toe
Just a few pointers, some of which are my personal preference!


Since you use modern concepts like arrow functions, const, and shorthand objects, you might as well replace jQuery $(".square") with document.querySelectorAll(".square")
Passing a div as an argument is not a good idea. I would keep all visualisation of the game in one separate function, for example: function drawBoard(). This function does all the DOM manipulation, and the DOM elements or jQuery functions should not be mentioned anywhere else in your code.
I would use one game state array, and the event handlers should alter that game state array directly. If square 1 is clicked by player one, the state array would become [1,0,0,0,0,0,0,0,0], and after the game state has updated, you call drawBoard() which draws the X and O visuals in the DOM.
You can use this state array in your checkWin function too, instead of using so many temporary arrays! If you use numbers you can even see who won just by adding the numbers.
You use a lot of temporary variables. I've added a suggestion to switch players without using those.
Don't nest so many functions in each other, don't call them implicitly by sometimes adding () at the end, and other times not. It's hard to reason about.
Arrow functions don't have their own scope, but sometimes you DO need a scope, for example in your gameboard class.


Below are just a few sketches to rewrite the code, I realise this is far from complete but it might give you some ideas:

function Player(name, mark, id){
  this.name = name
  this.mark = mark
  this.id = id
}

function GameBoard(){
  let state = [0,0,0,0,0,0,0,0,0]
  let player1 = new Player("Mark","X", 1)
  let player2 = new Player("Joe", "O", 2)
  let currentPlayer = player1

  this.initHandlers = function(){
    let fields = document.querySelectorAll(".field")
    for(let f of fields){
     f.addEventListener("click", (e)=&gt; this.updateState(e))
    }
  }

  this.updateState = function(e){
    console.log("id of the clicked tile is " + e.target.id)
    let id = parseInt(e.target.id)
    state[id] = currentPlayer.id
    this.drawBoard()
    this.checkWin()
    currentPlayer = this.switchPlayers()
  }


  this.switchPlayer = function(){
      return (currentPlayer == player1) ? player2 : player1
  }

  this.drawBoard = function(){
    // all DOM manipulation here
  }

  this.checkWin = function(){
    if(state[0] + state[3] + state[6] == 3) console.log("player one wins!")
  }
}

let board = new GameBoard()
board.initHandlers()