JavaScript中是否存在字符串.Empty,还是只是检查“”?
当前回答
检查var a;存在删除值中的假空格,然后测试是否为空如果((a)&&(a.trim()!=“”)){//如果变量a不为空,请执行以下操作}
其他回答
检查是否为字符串类型,如果不为空:
const isNonEmptyString = (val) => typeof val === 'string' && !!val
var s; // undefined
var s = ""; // ""
s.length // 0
JavaScript中没有表示空字符串的内容。检查长度(如果您知道var始终是字符串)或“”
不要假设您检查的变量是字符串。不要假设这个变量有一个长度,那么它就是一个字符串。
问题是:仔细思考你的应用程序必须做什么,可以接受什么。打造强健的体魄。
如果您的方法/函数只处理非空字符串,那么测试参数是否为非空字符串并且不要做一些“技巧”。
作为一个例子,如果你不小心遵循这里的一些建议,就会发生爆炸。
var getLastChar = function (str) {
if (str.length > 0)
return str.charAt(str.length - 1)
}
getLastChar('hello')
=> "o"
getLastChar([0,1,2,3])
=> TypeError: Object [object Array] has no method 'charAt'
所以,我会坚持
if (myVar === '')
...
嗯,检查这个的最简单的函数是。。。
const checkEmpty=string=>(strim.trim()==“”)||!strim.trim();
用法:
checkEmpty(""); // returns true.
checkEmpty("mystr"); // returns false.
就是这么简单。:)
我宁愿使用非空白测试而不是空白测试
function isNotBlank(str) {
return (str && /^\s*$/.test(str));
}
推荐文章
- 如何使用Jest测试对象键和值是否相等?
- 将长模板文字行换行为多行,而无需在字符串中创建新行
- 如何在JavaScript中映射/减少/过滤一个集?
- Bower: ENOGIT Git未安装或不在PATH中
- 添加javascript选项选择
- 在Node.js中克隆对象
- 为什么在JavaScript的Date构造函数中month参数的范围从0到11 ?
- 使用JavaScript更改URL参数并指定默认值
- 在window.setTimeout()发生之前取消/终止
- 如何删除未定义和空值从一个对象使用lodash?
- 检测当用户滚动到底部的div与jQuery
- 在JavaScript中检查字符串包含另一个子字符串的最快方法?
- 检测视口方向,如果方向是纵向显示警告消息通知用户的指示
- ASP。NET MVC 3 Razor:在head标签中包含JavaScript文件
- 禁用从HTML页面中拖动图像