string.split做了什么?

时间:2016-08-18 02:26:53

标签: javascript

我知道string.split()会做什么,但是我试图理解某人的React app,我偶然发现了这个:

newStr = newStr.split ? newStr.split(' ').reverse().join(' ') : newStr;

2 个答案:

答案 0 :(得分:3)

在该上下文中,newStr.split正在测试newStr是否具有.split属性 - 如果属性,则假定它是一种方法并调用.split(' ').reverse().join(' ')(反转)单词的顺序),否则返回newStr不变。

如果newStrnullundefined,或者如果某个对象的.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方法或没有任何空格,则返回原始输入。