Salmon joined the Hale End academy at the age of nine and broke into Mikel Arteta's first team this season, making four senior appearances across the Champions League and FA Cup.
His competitive debut came as a late substitute in the 3-0 win over Club Brugge in December, and he went on to start an FA Cup fifth-round tie against Mansfield Town. He has captained Arsenal's Under-21 side throughout the campaign and represents England at Under-17 level.
Salmon said: "It's a very big moment for me, for my family as well. I'm very proud. I've been at the academy since I was nine and I just want to give everything to the club.
"I'm an Arsenal supporter, and I've had some great memories so far. I'm so proud to have made my debut this season. I just want to keep pushing on still, keep my levels high and try to get as much experience as I can in the first team."
The move follows a similar agreement Arsenal struck with fellow academy product Max Dowman in January, with the 16-year-old due to sign professional terms in December when he turns 17.
The club are clearly moving to protect their most promising youth players amid growing interest from rival clubs.
Salmon can play at centre-back or right-back and has drawn comparisons internally to William Saliba. Arsenal face Atletico Madrid in the Champions League semi-finals next month.