- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图找到一种简写方法来完成这样的事情
let text = el.querySelector('.some-class').textContent || ''
但是上面给出了一个错误:
Object is possibly 'null'.
所以我随机决定尝试一下,并且不再出现任何错误。但是,我不知道它在做什么,也不知道它是否正在做我想要它做的事情。
let text = el.querySelector('.some-class')!.textContent || ''
基本上,我正在寻找一种方法,如果找到元素,则触发 textContent
部分,否则触发 ||
之后的部分。
我不确定我刚刚写的表达式是什么,所以我真的不知道在这里谷歌什么。
我认为它的意思是不要用空结果来计算表达式,就像定义类型时一样:
public value!: string
如果我是正确的,有没有正确的方法来做我想做的事?
最佳答案
您可以定义一个实用函数:
function getElText(query: string): string {
const el = document.querySelector(query);
return el && el.textContent || '';
}
一次optional chaining添加到 JS,您可能可以在 TS/JS 中执行此操作:
let text = el.querySelector('.some-class')?.textContent || ''
在您的工作示例中,!.
告诉 TS 忽略可能的 null
类型,因此您可以访问 el
上的属性,但如果 querySelector
返回 null
,您将收到运行时错误。
关于javascript - 如果 querySelector 不返回 null,则简写获取 textContent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56761770/
考虑以下示例: if (cache) { x = cache; } else { x = cache = someMethod(); } 无论如何要使它比 cache 更短? x =
我有一个字符串,我想将它附加到其他字符串。比方说: $my_string = 'Hello'; $my_string .= ' there'; 这将返回“你好”。 我想像这样设置条件: $my_str
有没有办法执行以下操作,但简而言之 if/then 语法: if($method->isAbstract()) { $details['abstract'] = true; } 如果我这样做:
我很好奇,有没有更简单的说法 if(myVar == myVal || myVar == myOtherVal){ /*...*/ } 如: if(myVar == myVal || myOtherV
我正在寻找一种方法来最小化数组的创建,其中所有索引都具有相同的值。这可能不可能,但我会发现它非常方便。 考虑: var layer = []; layer['game'] = new Kinetic.
我想知道是否有办法将简写 if/else 与简写 += 合并 类似这样的事情: var value; $.each(data.events, function(index, element) {
我需要用 JQuery 做一个速记 IF-ELSE。我的代码: $('#somediv').val() != 0 ? $('#somediv').toggleClass('class1') :
我觉得这一定是重复的,但我找不到任何东西,可能是由于措辞不同,或者只是因为确实没有更好的东西。 我正在生成大量的 JS 代码,其中“OR”对象属性与变量,而标识符不一定匹配。看起来像这样(值为 boo
这个问题在这里已经有了答案: Shorthand if/else statement Javascript (7 个答案) 关闭 9 年前。 下面的简写等价物是什么? if (windowwidth
以下的 JS 简写是什么: if (typeof bfMax !== 'undefined') { options.max = bfMax; } 最佳答案 有条件地赋值
假设我有父类 - “Parent”,我想从中创建三个对象 - o1、o2、o3。 因此,如果有一个简略的方法或一种漂亮的方法来执行以下操作: o1=Parent() o2=Parent() o3=Pa
这个问题已经有答案了: Check variable equality against a list of values (16 个回答) 已关闭 5 年前。 我觉得我经常遇到这种情况,直觉上应该有一
我是 Swift 的新手,我想知道是否有一种“速记”形式,可以在不执行 if nil 检查的情况下将可选值分配给非可选值。 例如,如果我有一个可选的闭包: var onTap: (() -> Void
这个问题在这里已经有了答案: Why does the expression 0 < 0 == 0 return False in Python? (9 个回答) 关闭 4 年前。 if x ==
这个问题在这里已经有了答案: CSS select multiple descendants of another element (3 个答案) 关闭 5 年前。
假设我正在使用一些 python 包中的类,如下所示 class foo(object): def __init__(self): self.a = None
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 8 年前。 Improve t
top right bottom left 或 width 有任何简写和高度 ? 我有很多这样的CSS #topDiv { position:absolute; top:0px;
这个问题在这里已经有了答案: 关闭9年前。 Possible Duplicate: Ternary conditional operator in Python 我想在 python 中做以下事情:
if-else 的 JavaScript 简写可以从函数中返回吗?如果是这样,这将如何运作。 例如。我有这个: if(boolean){ return; } 我想这样写: (value)? retu
我是一名优秀的程序员,十分优秀!