Executando verificação de segurança...
1

Você está tentando pegar o valor da função user antes de instanciar ela.

Perceba que você instanciou o user nesse momento:
const usuario = new user(name, age); //criando o objeto

A partir daí o usuario será um objeto do tipo user que terá o name e age que você adquiriu quando fez os prompts.

Então você deve pegar os dados do usuario logo após o instanciar.

A seguir editei o seu programa, passei a lógica de pegar o elemento por ID e atribuir o innerText de cada para dentro da função init() e fiz o ajuste pra pegar os dados do usuario instanciado.

//função q inicia e pede os dados
function init(){
    let name = prompt('Qual seu nome?')
    let age = prompt('Qual sua idade?')

    const usuario = new user(name, age); //criando o objeto
    
    //pegando a referência dos elementos na página
    let n = document.getElementById('nome') //id da tag <p> para o nome
    let a = document.getElementById('age') //id da tag <p> para idade
    
    //inserindo nas respectivas tags
    n.innerText = usuario.nome
    a.innerText = usuario.idade
}

//função que cria a estrutura do objeto
var user = function(name, age){
    this.nome = name,
    this.idade = age
}

//inicio do programa
init();

Carregando publicação patrocinada...