为什么在 if 语句中使用逻辑 AND 时会得到意外标记?
Why am I getting an unexpected token when using logical AND in an if statement?
我正在尝试使用 if 语句遍历一个数组,该数组包含具有多个 属性 值的构造函数的实例。
我正在使用逻辑 AND 运算符来确保满足 2 个条件,但我不断收到 Uncaught SyntaxError 消息:
Unexpected Token with the second logical condition operator being sited.
我以前用过这个,从来没有遇到过这个问题,所以现在不明白为什么?我还在学习 Javascript,但这看起来应该很简单?
我已经尝试删除消息抛出的运算符,但这给我留下了一个条件。
class Streets {
constructor(name, area) {
this.name = name;
this.area = area;
}
}
const street1 = new Streets('Brookwood Glen', 500);
const street2 = new Streets('Abbey Street', 1500);
const street3 = new Streets('Grafton Street', 3000);
const street4 = new Streets('Drury Street', 5000);
const totalStreets = [street1, street2, street3, street4];
function getStreetSize() {
for(let cur of totalStreets) {
if(cur.area > 0 && <= 500) { //This line is where I get the error message
console.log(`${cur.name} has a length of ${cur.size}m and is a tiny street.`);
} else if(cur.area > 500 && =< 1000) {
console.log(`${cur.name} has a length of ${cur.size}m and is a small street.`);
} else if(cur.area > 1000 && =< 1500) {
console.log(`${cur.name} has a length of ${cur.size}m and is a normal street.`);
} else if(cur.area > 1500 && =< 2000) {
console.log(`${cur.name} has a length of ${cur.size}m and is a big street.`);
} else if(cur.area > 2000) {
console.log(`${cur.name} has a length of ${cur.size}m and is a huge street.`);
} else {
console.log(`${cur.name} is a normal street`);
}
}
}
我期待 for 循环遍历 'totalStreets' 数组中的元素并评估 'area' 值是否在 2 个条件之间并将相应的语句打印到控制台,但是它不允许我使用比运算符更少的than/greater。
您需要在 AND 的每个 侧有一个有效的表达式。
=< 1000
不是有效的表达式,左侧缺失。
您不能在另一个表达式中从 >
的 LHS
暗示 =<
的 LHS 值。您必须明确说明。
cur.area > 500 && cur.area =< 1000
您需要在 &&
之后放置 cur.area <= 500
您还应该将 =<
替换为 <=
我正在尝试使用 if 语句遍历一个数组,该数组包含具有多个 属性 值的构造函数的实例。
我正在使用逻辑 AND 运算符来确保满足 2 个条件,但我不断收到 Uncaught SyntaxError 消息:
Unexpected Token with the second logical condition operator being sited.
我以前用过这个,从来没有遇到过这个问题,所以现在不明白为什么?我还在学习 Javascript,但这看起来应该很简单?
我已经尝试删除消息抛出的运算符,但这给我留下了一个条件。
class Streets {
constructor(name, area) {
this.name = name;
this.area = area;
}
}
const street1 = new Streets('Brookwood Glen', 500);
const street2 = new Streets('Abbey Street', 1500);
const street3 = new Streets('Grafton Street', 3000);
const street4 = new Streets('Drury Street', 5000);
const totalStreets = [street1, street2, street3, street4];
function getStreetSize() {
for(let cur of totalStreets) {
if(cur.area > 0 && <= 500) { //This line is where I get the error message
console.log(`${cur.name} has a length of ${cur.size}m and is a tiny street.`);
} else if(cur.area > 500 && =< 1000) {
console.log(`${cur.name} has a length of ${cur.size}m and is a small street.`);
} else if(cur.area > 1000 && =< 1500) {
console.log(`${cur.name} has a length of ${cur.size}m and is a normal street.`);
} else if(cur.area > 1500 && =< 2000) {
console.log(`${cur.name} has a length of ${cur.size}m and is a big street.`);
} else if(cur.area > 2000) {
console.log(`${cur.name} has a length of ${cur.size}m and is a huge street.`);
} else {
console.log(`${cur.name} is a normal street`);
}
}
}
我期待 for 循环遍历 'totalStreets' 数组中的元素并评估 'area' 值是否在 2 个条件之间并将相应的语句打印到控制台,但是它不允许我使用比运算符更少的than/greater。
您需要在 AND 的每个 侧有一个有效的表达式。
=< 1000
不是有效的表达式,左侧缺失。
您不能在另一个表达式中从 >
的 LHS
暗示 =<
的 LHS 值。您必须明确说明。
cur.area > 500 && cur.area =< 1000
您需要在 &&
cur.area <= 500
您还应该将 =<
替换为 <=