305 }
306 }, t2.reflink = function(e3, t3) {
307 var u2;
308 if (u2 = (u2 = this.rules.inline.reflink.exec(e3)) || this.rules.inline.nolink.exec(e3))309 return (e3 = t3[(e3 = (u2[2] || u2[1]).replace(/\s+/g, " ")).toLowerCase()]) ? B(u2, e3, u2[0], this.lexer) : { type: "text", raw: t3 = u2[0].charAt(0), text: t3 };
310 }, t2.emStrong = function(e3, t3, u2) {
311 void 0 === u2 && (u2 = "");
306 }, t2.reflink = function(e3, t3) {
307 var u2;
308 if (u2 = (u2 = this.rules.inline.reflink.exec(e3)) || this.rules.inline.nolink.exec(e3))
309 return (e3 = t3[(e3 = (u2[2] || u2[1]).replace(/\s+/g, " ")).toLowerCase()]) ? B(u2, e3, u2[0], this.lexer) : { type: "text", raw: t3 = u2[0].charAt(0), text: t3 };310 }, t2.emStrong = function(e3, t3, u2) {
311 void 0 === u2 && (u2 = "");
312 var n2 = this.rules.inline.emStrong.lDelim.exec(e3);
345 return t3 = "@" === e3[2] ? "mailto:" + (u2 = c(this.options.mangle ? t3(e3[1]) : e3[1])) : u2 = c(e3[1]), { type: "link", raw: e3[0], text: u2, href: t3, tokens: [{ type: "text", raw: u2, text: u2 }] };
346 }, t2.url = function(e3, t3) {
347 var u2, n2, r2, i2;
348 if (u2 = this.rules.inline.url.exec(e3)) {349 if ("@" === u2[2])
350 r2 = "mailto:" + (n2 = c(this.options.mangle ? t3(u2[0]) : u2[0]));
351 else {
384 var e2, t2, n2 = u2.prototype;
385 return n2.lex = function(e3) {
386 var t3;
387 for (e3 = e3.replace(/\r\n|\r/g, "\n"), this.blockTokens(e3, this.tokens); t3 = this.inlineQueue.shift(); )388 this.inlineTokens(t3.src, t3.tokens);
389 return this.tokens;
390 }, n2.blockTokens = function(r2, t3) {
395 if (!(this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function(e4) {
396 return !!(u3 = e4.call({ lexer: s2 }, r2, t3)) && (r2 = r2.substring(u3.raw.length), t3.push(u3), true);
397 }))) {
398 if (u3 = this.tokenizer.space(r2))399 r2 = r2.substring(u3.raw.length), 1 === u3.raw.length && 0 < t3.length ? t3[t3.length - 1].raw += "\n" : t3.push(u3);
400 else if (u3 = this.tokenizer.code(r2))
401 r2 = r2.substring(u3.raw.length), !(e3 = t3[t3.length - 1]) || "paragraph" !== e3.type && "text" !== e3.type ? t3.push(u3) : (e3.raw += "\n" + u3.raw, e3.text += "\n" + u3.text, this.inlineQueue[this.inlineQueue.length - 1].src = e3.text);
In conditional statements, it is very easy to mistype a comparison operator (such as ==
or ===
) as an assignment operator (such as =
).
// Unintentional assignment
let x;
if (x = 0) {
let b = 1;
}
// Assignment replaced by comparison
let x;
if (x === 0) {
let b = 1;
}
let y;
if (y === 0) {
let b = 1;
}