我知道string.split()会做什么,但是我试图理解某人的React app,我偶然发现了这个:
newStr = newStr.split ? newStr.split(' ').reverse().join(' ') : newStr;
答案 0 :(得分:3)
在该上下文中,newStr.split
正在测试newStr
是否具有.split
属性 - 如果属性,则假定它是一种方法并调用.split(' ').reverse().join(' ')
(反转)单词的顺序),否则返回newStr
不变。
如果newStr
为null
或undefined
,或者如果某个对象的.split
属性不是返回的函数,那么该代码将导致错误一个数组。
(如Bergi所述)直接测试newStr
的类型会更有意义:
newStr = typeof newStr === "string" ? newStr.split(' ').reverse().join(' ') : newStr;
// OR
if (typeof newStr === "string") newStr = newStr.split(' ').reverse().join(' ');
答案 1 :(得分:0)
它会反转输入“句子”字符串的单词。如果输入没有split
方法或没有任何空格,则返回原始输入。