Seb*_*ull 4 javascript uuid lint typescript tslint
我正在使用以下typescript方法来生成UUIDs.代码本身基本上是这个stackoverflow答案的打字稿版本.
generateUUID(): string {
let date = new Date().getTime();
if (window.performance && typeof window.performance.now === 'function') {
date += performance.now();
}
let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
let r = (date + Math.random() * 16) % 16 | 0;
date = Math.floor(date / 16);
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
return uuid;
};
Run Code Online (Sandbox Code Playgroud)
我们的开发团队TSLint用来保持代码清洁,我们有一个禁止使用的规则bitwise operators.我不知道如何在不损害UUID生成器的加密方面的情况下重写此代码.如何重写这段代码或者这根本没有意义呢?
Mat*_*son 16
TSLint强调这一点的原因是因为偶然使用按位运算符(例如,在if语句中)而不是故意使用它.
告诉TSLint你真的打算使用按位运算符应该是完全可以接受的.只需将它们包装在特殊的TSLint注释中即可.:
/* tslint:disable:no-bitwise */
// Your code...
/* tslint:enable:no-bitwise */
Run Code Online (Sandbox Code Playgroud)