JavaScript 中 TypeError: Cannot read Property ‘split’ of Null 错误
当对存储空值的变量调用 split()
方法时,会发生“Cannot read Property ‘split’ of Null”错误。 要解决该错误,请确保仅对字符串调用 split()
方法。
下面是产生上述错误的示例代码
const str = null;
// ⛔️ TypeError: Cannot read properties of null (reading 'split')
console.log(str.split(','));
要解决该错误,请在变量存储虚假值时提供回退,例如 一个空字符串。
const text = null;
const str = text || '';
console.log(str.split(',')); // 👉️ ['']
如果左边的值是假的(例如 null),逻辑 OR
||
运算符返回右边的值。
我们还可以在调用 split()
方法之前有条件地检查变量是否存储字符串。
const str = null;
// ✅ Check if str is of type string
if (typeof str === 'string') {
const arr = str.split(',');
console.log(arr);
} else {
console.log('str is not a string');
}
// ✅ Use optional chaining
const result = str?.split(','); // 👉️ undefined
第一个示例使用 if
语句来检查 str 变量是否存储了字符串类型的值。
if
块仅在值为字符串时运行,因此我们可以安全地调用split()
方法。
第二个示例使用可选的链接 ?.
运算符,如果左侧的值为 null 或 undefined,它会短路返回 undefined。
如果 str 变量不等于 null 或 undefined,运算符将仅调用 split()
方法。
总结
在存储空值的变量上调用 split()
方法时,会发生“TypeError: Cannot read Property ‘split’ of Null”错误。
为避免出现错误,需要确保变量在调用 split()
方法之前存储了一个字符串。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。