Tengo un class Employee que he importado a un nuevo archivo js (Main.js) que tiene una matriz de objetos de una lista de empleados, pero aparece un error de Uncaught SyntaxError: Invalid left-hand side in assignment que he adjuntado donde obtengo el error en el registro de la consola.
Como puede ver en el archivo HTML, tengo el type = module para ambos scripts
archivo HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script type="module" src="classes.js" defer></script> <script type="module" src="main.js" defer></script> <title>Javascript Practice</title> </head>Archivo Classes.js
export class Employee{ constructor( id, name, surname, jobtitle, salary, startDate ){ this.id = id; this.name = name; this.surname = surname; this.jobtitle = jobtitle; this.salary = salary; this.startDate = startDate; } id = Math.floor(Math.random() * 1000) + (new Date()).getTime(); }Archivo principal.js
import { Employee } from "../classes.js" const employees =[ new Employee = { id:id, name:"Paul", surname:"Jakens", jobtitle:"Senior Salesmen", salary: 13000, startDate:"2015/05/15" }, new Employee = { id:id, name:"Susan", surname:"Lupan", jobtitle:"Junior Designer", salary: 12000, startDate:"2021/03/16" }, new Employee = { id:id, name:"John", surname:"Angel", jobtitle:"Senior Full Stack Developer", salary: 40000, startDate:"2014/10/18" }, ]Debido a que el empleado es una clase en lugar de un objeto, creo que debe llamar al constructor.
Así que este debería ser el aspecto que tendrían los empleados.
const employees = [ new Employee(id,"Paul","Jakens","Senior Salesmen", 13000,"2015/05/15") ... ]También puede eliminar la identificación del constructor ya que la está aleatorizando.
constructor( name, surname, jobtitle, salary, startDate ){ this.id = Math.floor(Math.random() * 1000) + (new Date()).getTime();; this.name = name; this.surname = surname; this.jobtitle = jobtitle; this.salary = salary; this.startDate = startDate; }