Object.is/===、数组at/直接索引、substring/slice的区别
💡
原文中文,约2300字,阅读约需6分钟。
📝
内容提要
本文介绍了JavaScript中Object.is与===的区别,数组at方法与索引的差异,以及substring与slice的不同。Object.is在比较NaN和+0/-0时表现不同;at方法支持负索引,而直接索引不支持;substring对负参数视为0,slice则允许负参数。
🎯
关键要点
- Object.is()与===的比较:NaN和NaN返回false,而Object.is(NaN, NaN)返回true;+0和-0比较时,===认为相等,Object.is认为不相等。
- 数组at方法与直接索引的区别:at方法支持负索引,返回数组的相应元素,而直接索引对负数返回undefined。
- substring与slice的区别:substring对负参数视为0,slice允许负参数;substring的参数顺序会自动交换,而slice则不会。
- 建议在无法保证参数顺序时使用substring,其余情况使用slice,因为slice名称更简短易记。
➡️