相关疑难解决方法(0)

JavaScript属性访问:点符号与括号?

除了显而易见的事实,即第一种形式可以使用变量而不仅仅是字符串文字,是否有任何理由使用其中一种,如果是这样,在哪种情况下呢?

在代码中:

// Given:
var foo = {'bar': 'baz'};

// Then
var x = foo['bar'];

// vs. 
var x = foo.bar;
Run Code Online (Sandbox Code Playgroud)

上下文:我编写了一个生成这些表达式的代码生成器,我想知道哪个更好.

javascript syntax

380
推荐指数
10
解决办法
14万
查看次数

JavaScript中的问号和冒号

我遇到了以下几行

hsb.s = max != 0 ? 255 * delta / max : 0;
Run Code Online (Sandbox Code Playgroud)

什么的?,并:在这方面是什么意思?

javascript syntax operators conditional-operator

239
推荐指数
4
解决办法
19万
查看次数

这个符号在JavaScript中意味着什么?

这是什么?

这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.

为什么是这样?

Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.

主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.

此外,这是PHP符号引用的公然副本.我们需要一个JS.


请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接

javascript

86
推荐指数
1
解决办法
14万
查看次数

React:期望一个赋值或函数调用,而是看到一个表达式

我试图const def = (props) => {在下面的示例代码中修复此lint错误.

const propTypes = {
prop1: PropTypes.string,
prop2: PropTypes.string,
prop3: PropTypes.string,
prop4: PropTypes.string,
prop5: PropTypes.string,
}

const abc = (props) => {
some code here }

const def = (props) => {
<div>
<div className=" ..some classes..">{abc}</div>
<div className=" ..some classes..">{t('translation/something')}</div>

<div ...>
  <someComponent 
    do something
  />

if (some condition) {
do this
} else {
do that
}

</div>

};
Run Code Online (Sandbox Code Playgroud)

知道为什么我得到这个lint错误?

jsx reactjs

14
推荐指数
4
解决办法
3万
查看次数

JavaScript中的可选链接

我最近在Swift编程了很多.今天,当我遇到问题时,我在JavaScipt做了一些工作:

是否有类似于JavaScript中的可选链接?一种防止undefined is not an object没有任何变量的方法?

例:

function test(){
   if(new Date() % 2){
      return {value: function(){/*code*/}};
   }
} 

test().value();
Run Code Online (Sandbox Code Playgroud)

将失败一半的时间因为有时会test返回undefined.

我能想到的唯一解决方案是功能:

function oc(object, key){
   if(object){
      return object[key]();
   }
}

oc(test(), 'value');
Run Code Online (Sandbox Code Playgroud)

我希望能够做到这样的事情:

test()?.value()
Run Code Online (Sandbox Code Playgroud)

问号后面的部分仅在test返回对象时执行.

但这不是很重要.还有更好的东西吗?运营商的神奇组合?

编辑我知道我可以重写test以返回一些东西.但我想知道是否有类似可选链接的东西.我对上面例子的特定解决方案不感兴趣.如果无法控制返回undefined的函数,我也可以使用的东西.

javascript

11
推荐指数
3
解决办法
2591
查看次数