我在 React 应用程序中看到了以下代码。
getData()
.then(res => res.json())
.then(console.log)
Run Code Online (Sandbox Code Playgroud)
它的行为与我使用的完全相同
getAllStudents()
.then(res => res.json())
.then(data => console.log(data))
Run Code Online (Sandbox Code Playgroud)
因此,在第一个示例中,被调用的函数console.log以某种方式隐式知道它应该将数据作为参数并将其显示在控制台中。该函数甚至没有被调用console.log()
你能告诉我这个快捷方式概念叫什么吗?我想了解更多有关它的信息,但我不知道应该如何使用它。
这被称为“点自由风格”或隐性编程。
参见例如https://en.wikipedia.org/wiki/Tacit_programming
编辑:上面的情况可能不完全是默认编程,因为这涉及定义函数而不明确提及它们的参数(“默认”=“隐式”),而这里您只是使用已经定义的函数作为参数。但是函数定义
const log = console.log
Run Code Online (Sandbox Code Playgroud)
将是一个默认函数,而不是
const log = data => console.log(data)
Run Code Online (Sandbox Code Playgroud)
所以这个概念至少与问题的差异密切相关。
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |