Javascript 为什么我必须将部分条件放在括号中以防止语法错误?
这是我的密码:Javascript 为什么我必须将部分条件放在括号中以防止语法错误?,javascript,syntax-error,selector,Javascript,Syntax Error,Selector,这是我的密码: if(typeof selector = "string") { 当我运行代码时,我遇到了一个语法错误,它是:SyntaxError:Expected token')为了防止出现这种情况,我将选择器的typeof部分放在括号中。这是我的新代码: if((typeof selector) = "string") { 没有语法错误 为什么我必须把我的条件的一部分放在括号里以防止这个语法错误 typeof selector == "string" 使用== 或者练习使用==,这是
if(typeof selector = "string") {
当我运行代码时,我遇到了一个语法错误,它是:SyntaxError:Expected token')
为了防止出现这种情况,我将选择器的typeof
部分放在括号中。这是我的新代码:
if((typeof selector) = "string") {
没有语法错误
为什么我必须把我的条件的一部分放在括号里以防止这个语法错误
typeof selector == "string"
使用==
或者练习使用==
,这是避免混淆JS中错误值的最佳方法
使用==
或者练习使用
==
,这是避免混淆JS中的falsy值的最佳方法。这是因为您使用的是单个等号
if (typeof selector = "string") {
这是一项任务,而不是
if (typeof selector === "string") {
这是相等运算符。通常使用===比使用==更好,因为这是更“类型安全”的比较
(作为旁注,我很好奇为什么第二个示例没有抛出异常,所以在node.js控制台中尝试了它。
typeof selector=“string”
和(typeof selector)=“string”
在该环境中抛出异常-我猜它依赖于浏览器)这是因为您使用的是一个等号
if (typeof selector = "string") {
这是一项任务,而不是
if (typeof selector === "string") {
这是相等运算符。通常使用===比使用==更好,因为这是更“类型安全”的比较
(作为旁注,我很好奇为什么第二个示例没有抛出异常,所以在node.js控制台中尝试了它。typeof selector=“string”
和(typeof selector)=“string”
都会在该环境中抛出异常,我想这取决于浏览器)