Please check if your PR fulfills the following requirements:
What kind of change does this PR introduce?
项目中的 packages/utils/src/string/index.ts 文件中 guid 函数使用了已废弃的 substr() 方法:
packages/utils/src/string/index.ts
guid
substr()
export const guid = (prefix = '', length = 8) => prefix + random().toString().substr(2, length)
substr() 方法已被 MDN 标记为废弃(deprecated),虽然目前仍可使用,但不符合现代 JavaScript 最佳实践。
Issue Number: N/A
将 substr 方法替换为标准的 slice 方法:
substr
slice
export const guid = (prefix = '', length = 8) => prefix + random().toString().slice(2, 2 + length)
此变更保持函数行为完全一致,同时遵循现代 JavaScript 最佳实践。slice(2, 2 + length) 与 substr(2, length) 在此场景下行为完全一致。
slice(2, 2 + length)
substr(2, length)
好处:
substr(start, length)
slice(start, end)
PR
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
项目中的
packages/utils/src/string/index.ts文件中guid函数使用了已废弃的substr()方法:export const guid = (prefix = '', length = 8) => prefix + random().toString().substr(2, length)substr()方法已被 MDN 标记为废弃(deprecated),虽然目前仍可使用,但不符合现代 JavaScript 最佳实践。Issue Number: N/A
What is the new behavior?
将
substr方法替换为标准的slice方法:export const guid = (prefix = '', length = 8) => prefix + random().toString().slice(2, 2 + length)此变更保持函数行为完全一致,同时遵循现代 JavaScript 最佳实践。
slice(2, 2 + length)与substr(2, length)在此场景下行为完全一致。好处:
substrAPI 的风险Does this PR introduce a breaking change?
Other information
修改详情
packages/utils/src/string/index.tssubstr(2, length)替换为slice(2, 2 + length)技术说明
substr(start, length): 从 start 位置开始,提取 length 个字符slice(start, end): 从 start 位置到 end(不包含 end)提取字符测试验证
参考资源