Como programar os cálculos de uma calculadora no JavaScript?

Estou fazendo um trabalho de HTML, CSS e JavaScript sobre uma calculadora. O objetivo é apertar nos botões e calcular como uma calculadora normal. No JavaScript fiz esse código usando o eval. Porém meu professor quer que eu faça totas as funções (soma, subtração, multiplicação e divisão) manualmente no Javacript. Ele me mandou um modelo de como fazer, porém meu código não está funcionando.

Como eu fiz no JavaScript:

function calcular(){
	switch (insert('')){
		case "+":
			resultado = parseFloat(value) + parseFloat(value);
		break;
		case "-":
			resultado = parseFloat(value) - parseFloat(value);
		break;
		case "*":
			resultado = parseFloat(value) * parseFloat(value);
		break;
		case "/":
			resultado = parseFloat(value) / parseFloat(value);
		break;
	}
    document.getElementById('resultado'.innerHTML = "");

O exemplo que ele mandou:

document.querySelector("#soma") .addEventListener("click", executar)

function soma(){
let num1 = document.querySelector("#num1").value;
let num2 = document.querySelector("#num2").value;
let resultado= parseInt(num1) + parseInt(num2);
document.querySelector("#resultado").innerHTML = resultado;

Como posso aplicar o modelo que ele mandou para todas as funções da calculadora, e ainda se enquadrar no código que já tenho pronto no HTML?

Pedaço do código já pronto no HTML (todas as teclas da calculadora segue o padrão insert):

<div>
<table>
                <td>
                    <button class="botao" onclick="insert('*')">X</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button class="botao" value="7" onclick="insert('7')" onclick="setValue(value)">7</button>
                </td>
                <td>
                    <button class="botao" value="8" onclick="insert('8')" onclick="setValue(value)">8</button>
                </td>
</table>
</div>