意外令牌,预期:
Unexpected token, expected :
我想使用三元运算符,但收到以下错误消息:
" 意外令牌,预期:"
这是为什么?
这是我的第一个代码:
const GetUp = (num) => {
for (let i = 1; i <= num; i++) {
if (i % 3 === 0) {
console.log('Get')
}
if (i % 5 === 0) {
console.log('Up')
}
if (i % 3 === 0 && i % 5 === 0) {
console.log('GetUp')
} else {
console.log(i)
}
}
}
GetUp(200)
这是我最近的代码:
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) ? console.log('Set')
(i % 5 === 0) ? console.log('Ruc')
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i)
}
}
SetRuc(100)
例如:
(i % 3 === 0) ? console.log('Set')
没有为 ?
提供 :
选项。如果您不希望在 ?
检查为假的情况下发生任何事情,您可以简单地提供一个空对象,或者 undefined
:
(i % 3 === 0) ? console.log('Set') : {}
如果没有 else
,则使用 &&
作为短手
添加分号;
让它知道这是指令的结尾,否则它会将三行作为一条指令进行评估。
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) && console.log('Set');
(i % 5 === 0) && console.log('Ruc');
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i);
}
}
SetRuc(100)
你误用了三元运算符,语法是:
condition ? expr1 : expr1
假设如果条件为真expr1
就会执行,否则expr2
就会执行。
所以你可能需要这个:
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) ? console.log('Set') :
(i % 5 === 0) ? console.log('Ruc') :
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i)
}
}
SetRuc(100)
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) ? console.log('Set') :
(i % 5 === 0) ? console.log('Ruc') :
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i)
}
}
SetRuc(100)
您在 console.log('Set')
和 console.log('Ruc')
之后错过了 :
如果您不想在三元运算符中出现错误结果时执行任何操作。你可以只说 statement ? 'expression' : null
只需在其中提及 null
。像
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) ? console.log('Set') : null;
(i % 5 === 0) ? console.log('Ruc') : null;
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i);
}
}
SetRuc(100)
我想使用三元运算符,但收到以下错误消息:
" 意外令牌,预期:"
这是为什么?
这是我的第一个代码:
const GetUp = (num) => {
for (let i = 1; i <= num; i++) {
if (i % 3 === 0) {
console.log('Get')
}
if (i % 5 === 0) {
console.log('Up')
}
if (i % 3 === 0 && i % 5 === 0) {
console.log('GetUp')
} else {
console.log(i)
}
}
}
GetUp(200)
这是我最近的代码:
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) ? console.log('Set')
(i % 5 === 0) ? console.log('Ruc')
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i)
}
}
SetRuc(100)
例如:
(i % 3 === 0) ? console.log('Set')
没有为 ?
提供 :
选项。如果您不希望在 ?
检查为假的情况下发生任何事情,您可以简单地提供一个空对象,或者 undefined
:
(i % 3 === 0) ? console.log('Set') : {}
如果没有 else
&&
作为短手
添加分号;
让它知道这是指令的结尾,否则它会将三行作为一条指令进行评估。
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) && console.log('Set');
(i % 5 === 0) && console.log('Ruc');
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i);
}
}
SetRuc(100)
你误用了三元运算符,语法是:
condition ? expr1 : expr1
假设如果条件为真expr1
就会执行,否则expr2
就会执行。
所以你可能需要这个:
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) ? console.log('Set') :
(i % 5 === 0) ? console.log('Ruc') :
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i)
}
}
SetRuc(100)
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) ? console.log('Set') :
(i % 5 === 0) ? console.log('Ruc') :
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i)
}
}
SetRuc(100)
您在 console.log('Set')
和 console.log('Ruc')
:
如果您不想在三元运算符中出现错误结果时执行任何操作。你可以只说 statement ? 'expression' : null
只需在其中提及 null
。像
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) ? console.log('Set') : null;
(i % 5 === 0) ? console.log('Ruc') : null;
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i);
}
}
SetRuc(100)