在Javascript中设置抓取头时,哪种做法更好?
使用新的headers对象设置获取的头有什么区别,如下所示在Javascript中设置抓取头时,哪种做法更好?,javascript,http-headers,fetch-api,Javascript,Http Headers,Fetch Api,使用新的headers对象设置获取的头有什么区别,如下所示 const headers = new Headers() headers.set('User','Bob') 而不是用更少的代码分配所需的头,并且不使用新的头类 const headers = { User: 'Bob'} 在JavaScript中执行获取时。 如果两者都获得相似的结果,那么在获取数据时哪一个是最佳做法?Headers对象的行为类似于Map,但关键区别在于header键不区分大小写 标题: var headers
const headers = new Headers()
headers.set('User','Bob')
而不是用更少的代码分配所需的头,并且不使用新的头类
const headers = { User: 'Bob'}
在JavaScript中执行获取时。
如果两者都获得相似的结果,那么在获取数据时哪一个是最佳做法?Headers对象的行为类似于Map,但关键区别在于header键不区分大小写
标题:
var headers = new Headers();
headers.set('CONTENT-tYpE', 'text/html');
console.log(headers.get('content-type')); // text/html
地图:
对象:
var headers = {};
headers['CONTENT-tYpE'] = 'text/html';
console.log(headers['content-type']); // undefined
当传递到fetch或http请求时,所有头名称都被规范化,而不管数据类型如何我已经厌倦了人们试图为JavaScript中的所有内容定义一个单一的最佳实践。这里的答案是,就fetchapi而言,没有更好的方法 根据调用fetch之前所做的操作,literal对象或header实例可能会更好。例如,从JSON配置获取硬编码的头,实例化头是浪费代码;另一方面,如果您需要编写一些逻辑来生成标头并选择要包含的标头,则标头具有更明确且不区分大小写的方法,即更安全的方法
但这只是我的观点,我认为这些都是明确的例子。我敢肯定,有人会建议总是使用literals,因为他们想要不变性,也有人会说header更具表现力和更好的类型。不管是哪种方式,这都不是StackOverflow的目的。您可能已经注意到,您的获取在任何一种方式下都有效。Literal和Header的实例之间存在差异实例具有有用的方法,但您为什么关心呢?为什么这是一个问题?我很好奇哪种方式是最佳实践,因为人们可以互换使用这两种方式,所以我想问一下。我还认为其他新开发人员将来可能会发现这很有用,尽管有些人认为这是一个愚蠢的问题。我也认为我很困惑为什么这一点被否决了。在学习这些知识时,有时可以从较高的层次上进行概述,以确定其重要性。在JS中,您可以用不同的方式创建相同的东西,但更重要的是,头只是一个简单的对象谁说了关于最佳实践或更好的实践?OP询问了两段不同代码之间的差异。OP在评论中澄清了他们想要最佳实践。我不是在编造。另一个细微的区别是头有一个.append方法,使用该方法可以为同一个头设置多个值,而不能使用映射
var headers = {};
headers['CONTENT-tYpE'] = 'text/html';
console.log(headers['content-type']); // undefined