变量"电子邮件"不应在声明时初始化



我正试图在我的cypress代码中创建一个随机电子邮件生成器

这是我的例子:

export function userEmail(): string {
let email = "",
domainName = "",
possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (let i = 0; i < tabSize9; i++)
email += possible.charAt(Math.floor(Math.random() * possible.length));
domainName += possible.charAt(Math.floor(Math.random() * possible.length));
return `${email}@${domainName}.com`;
}

它也为我工作,但问题是,当我午餐我的eslint脚本,它对我说,变量email不应该在声明时初始化,甚至我的domainName变量

请帮忙!

提前谢谢你

将声明拆分为3行

let email = "";
let domainName = "";
let possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

你试试这个:

export function userEmail(): string {
const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
let email = "";
let domainName = "";
for (let i = 0; i < tabSize9; i++){
email += possible.charAt(Math.floor(Math.random() * possible.length));
domainName += possible.charAt(Math.floor(Math.random() * possible.length));
}
return `${email}@${domainName}.com`;
}

你也可以使用faker.js来生成随机的电子邮件。

  1. 安装faker js与npm install @faker-js/faker --save-dev

  2. 为了让faker正常工作,你需要检查这些编译选项是否在你的tsconfig文件中设置正确:

{
"compilerOptions": {
"esModuleInterop": true,
"moduleResolution": "Node"
}
}
import { faker } from '@faker-js/faker';
export function userEmail(): string {
return faker.internet.email();
}

您可以随意选择要生成的随机电子邮件类型。比如,如果你想保留域名或者名字,姓氏不变等等。参考Faker Js文档

faker.internet.email(firstName?: string, lastName?: string, provider?: string, options?: {
allowSpecialCharacters: boolean
} = { allowSpecialCharacters: false }): string
faker.internet.email() // => "Larry_Ratke85@yahoo.com"
faker.internet.email() // 'Kassandra4@hotmail.com'
faker.internet.email('Jeanne', 'Doe') // 'Jeanne63@yahoo.com'
faker.internet.email('Jeanne', 'Doe', 'example.fakerjs.dev') // 'Jeanne_Doe88@example.fakerjs.dev'
faker.internet.email('Jeanne', 'Doe', 'example.fakerjs.dev', { allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.fakerjs.dev'

最新更新