Javascript 不带括号调用js String.endsWith/String.slice

Javascript 不带括号调用js String.endsWith/String.slice,javascript,function,parentheses,Javascript,Function,Parentheses,最近,我在开始工作的项目中看到了以下代码: if (!filepath || !filepath.endsWith || !filepath.split) { return true; } 其中filepath是一个字符串 我想知道这是否是有效的用法,它的目的可能是什么? 我找不到任何关于调用String.endsWith()或String.split()而不带括号的文档 提前感谢您的帮助 检查此项您是否尝试登录到控制台并查看它是什么?应该是第一件要做的事,当试图找到一

最近,我在开始工作的项目中看到了以下代码:

if (!filepath || !filepath.endsWith || !filepath.split) {
        return true;
    }
其中filepath是一个字符串

我想知道这是否是有效的用法,它的目的可能是什么? 我找不到任何关于调用String.endsWith()或String.split()而不带括号的文档


提前感谢您的帮助

检查此项您是否尝试登录到控制台并查看它是什么?应该是第一件要做的事,当试图找到一些东西。(这一位只是检查主题是否有两种方法。)要么有人忘记了等式中的
typeof filepath==“string”
,要么这是某种功能检测,排除了所有不支持
endsWith
的浏览器。我有一些怀疑,这是一种“碰撞保护”,但不确定,所以我想问:)谢谢@AndreaGiammarchi我同意也应该验证give变量的类型。我猜它并不总是一个字符串,这是一次duck类型的尝试(如果使用
typeof filepath.endsWith!=“function”
),会更干净更清晰)检查此项是否尝试登录到控制台并查看它是什么?应该是第一件要做的事,当试图找到一些东西。(这一位只是检查主题是否有两种方法。)要么有人忘记了等式中的
typeof filepath==“string”
,要么这是某种功能检测,排除了所有不支持
endsWith
的浏览器。我有一些怀疑,这是一种“碰撞保护”,但不确定,所以我想问:)谢谢@AndreaGiammarchi我同意也应该验证give变量的类型。我猜它并不总是一个字符串,这是一种duck类型的尝试(如果使用
typeof filepath.endsWith!=“function”
,会更清晰、更清晰)