# How to check if a string is empty in JavaScript

By Atta Ur Rehman Shah (https://attacomsian.com/about). Published Oct 23, 2022. Topics: JavaScript.
Canonical URL: https://attacomsian.com/blog/javascript-check-if-string-is-empty

> Learn how to use the length property to check if a string is empty in JavaScript.

You can use the `length` property to check if a string is empty in JavaScript. If the string's length is equal to `0`, then it is empty. Otherwise, the string is not empty.

```javascript
const str = ''

if (str.length === 0) {
  console.log(`String is empty ✅`)
} else {
  console.log(`String is not empty ❌`)
}

// String is empty ✅
```

If the string contains leading or trailing whitespace, you should use the `trim()` method to remove whitespace before checking if it is empty:

```javascript
const str = '   '

if (str.trim().length === 0) {
  console.log(`String is empty ✅`)
} else {
  console.log(`String is not empty ❌`)
}

// String is empty ✅
```

> The `trim()` method removes the leading and trailing spaces from a string. It returns an empty string if the string only contains spaces.

Alternatively, you could also use the strict equality operator (`===`) to check whether a string is empty or not:

```javascript
const str = ''

console.log(str === '')             // true
console.log(0 === '')               // false
console.log(false === '')           // false
console.log([] === '')              // false
console.log(null === '')            // false
console.log(undefined === '')       // false
```

As you can see above, the strict equality operator returns `false` for `null`, `undefined`, and `false` values in the comparison because these are special values.

To check if a string is truthy and contains one or more characters, use the following code:

```javascript
const str = 'js'

if (str) {
  // `str` variable is NOT false, undefined,
  // null, empty string, NaN
  console.log(`String is truthy ?`)
}

// String is truthy ?
```

A variable is truthy if it is not an empty string, `0`, `null`, `undefined`, `false`, or `NaN`.
