如果涉及到像这样的柯里化函数,是否有命名约定:
const someName = argA => argB => ...
const newFunction = someName(someArg)
Run Code Online (Sandbox Code Playgroud)
是否有命名someName声明的约定?喜欢用 init / create 等前缀吗?
可以说我给出的情况像这个页面
<div id="details-container" class="style-scope ytd-channel-about-metadata-renderer">
<yt-formatted-string class="subheadline style-scope ytd-channel-about-metadata-renderer">Details</yt-formatted-string>
<table class="style-scope ytd-channel-about-metadata-renderer">
<tbody class="style-scope ytd-channel-about-metadata-renderer"><tr class="style-scope ytd-channel-about-metadata-renderer">
<td class="label style-scope ytd-channel-about-metadata-renderer">
<yt-formatted-string class="style-scope ytd-channel-about-metadata-renderer"></yt-formatted-string>
</td>
<td class="style-scope ytd-channel-about-metadata-renderer">
<ytd-button-renderer align-by-text="" class="style-scope ytd-channel-about-metadata-renderer" button-renderer=""></ytd-button-renderer>
<div id="captcha-container" class="style-scope ytd-channel-about-metadata-renderer"></div>
<div id="email-container" class="style-scope ytd-channel-about-metadata-renderer"></div>
<a id="email" target="_blank" class="style-scope ytd-channel-about-metadata-renderer" href="mailto:undefined" hidden=""></a>
</td>
</tr>
<tr class="style-scope ytd-channel-about-metadata-renderer">
<td class="label style-scope ytd-channel-about-metadata-renderer">
<yt-formatted-string class="style-scope ytd-channel-about-metadata-renderer"><span class="deemphasize style-scope yt-formatted-string"> Location: </span></yt-formatted-string>
</td>
<td class="style-scope ytd-channel-about-metadata-renderer">
<yt-formatted-string class="style-scope ytd-channel-about-metadata-renderer">YourCountry</yt-formatted-string>
</td>
</tr>
</tbody></table>
</div>
Run Code Online (Sandbox Code Playgroud)
假设我需要获取“YourCountry”,我实际上如何获取此元素?
到目前为止我尝试过:
const location …
Run Code Online (Sandbox Code Playgroud) 有人可以向我解释一下为什么在这种情况下:
const dataValues: ValueRange[] = res.data.valueRanges.filter((range: ValueRange) => range.values);
const formattedValues: Array<SheetData | undefined> = dataValues.map(this.formatSheetRanges);
const sheetData: Array<SheetData> = formattedValues.filter((sheetData: SheetData | undefined) => sheetDataGuard(sheetData));
function sheetDataGuard(data: SheetData | undefined): data is SheetData {
return !!(<SheetData>data).user;
}
Run Code Online (Sandbox Code Playgroud)
sheetData 数组仍然会抱怨它的类型是
Array<SheetData | undefined>
Run Code Online (Sandbox Code Playgroud)
但如果我将最后一个过滤更改为:
const sheetData: Array<SheetData> = formattedValues.filter(sheetDataGuard);
Run Code Online (Sandbox Code Playgroud)
打字稿不再抱怨了吗?