JavaScript에서 문자열 같음 확인
JavaScript에는 문자열 같음을 확인하는 데 사용할 수있는 네 가지 연산자가 있습니다. 이러한 연산자를 비교 연산자라고합니다.
- Strict equal (
===
) : Strict equal (삼중 같음 연산자라고도 함)은 변수의 값과 데이터 유형을 확인합니다. 이 두 가지가 모두 같으면true
만 반환하고 그렇지 않으면false
를 반환합니다. - Strict not equal (
!==
) : Strict equal의 반대입니다. 값이나 데이터 유형이 일치하지 않으면true
를 반환합니다. 그렇지 않으면false
입니다. - 등호 (
==
) : 이중 등호는 변수 값만 확인합니다. 값이 일치하면true
를 반환하고 그렇지 않으면false
를 반환합니다. 변수 유형은 신경 쓰지 않습니다. - 같지 않음 (
!=
) : 같지 않음 (==
)과 반대입니다. 데이터 유형에 관계없이 변수 내부의 값이 일치하지 않는 경우에만true
를 반환합니다. 값이 서로 일치하면false
를 반환합니다.
이러한 연산자는 문자열이 같은지 확인하는 것뿐만 아니라 다른 데이터 유형이 같은지 확인하는데도 사용됩니다. 이 네 가지 연산자 중에서 사용 사례에 따라 문자열이 같은지 확인하는 데 가장 적합한 연산자를 찾아 보겠습니다.
3 번째와 4 번째 연산자, 즉==
및!=
를 이미 보았을 것입니다. 이는 다른 프로그래밍 언어에서도 매우 일반적입니다. 그러나 JavaScript에서 작동하는 방식은 다른 언어와 약간 다릅니다.
JavaScript에서 문자열 같음을 위해 연산자를 사용하는 경우
JavaScript와 관련하여 다음은===
또는==
연산자 중 하나를 사용할 수있는 몇 가지 사용 사례입니다.
- 비교할 값이
true
또는false
값일 수 있으면==
가 아닌===
를 사용합니다. - 비교할 값이 이러한 특정 값 (
0
,""
또는[]
-빈 배열) 일 수있는 경우==
대신===
를 사용합니다. - 다른 경우에는
==
를 사용해도 안전합니다. 안전 할뿐만 아니라 코드를 단순화하고 가독성을 향상시킵니다.
Strict not equal (!==
) 및 Not equal (!=
) 연산자를 사용하는 동안에도 위와 동일한 규칙을 적용 할 수 있습니다. 특정 규칙에 대한 자세한 내용은 ES5 사양의 11.9.3 섹션을 참조하십시오.
예제를 통해 JavaScript의 문자열 평등 이해
몇 가지 예를 들어 자세히 이해해 봅시다.
이 예에서는name_1
및name_2
라는 두 개의 변수를 사용했습니다. 둘 다"adam"
을 문자열 값으로 사용합니다. 이제 위의 각 연산자를 적용하고 우리가 얻은 출력을 보겠습니다.
여기에서는 각각 다른 비교 연산자를 나타내는 네 개의if
및else
문을 사용했습니다. 값과 데이터 유형이name_1
및name_2
변수에 대해 동일하므로 트리플 같음 또는 Strict equal 연산자 (===
)는True
를 출력으로 인쇄합니다. 그리고 double equal==
는 두 변수의 값이 같으므로True
도 인쇄합니다.
let name_1 = "adam";
let name_2 = "adam";
// Strict Equal
if(name_1 === name_2) console.log("True");
else console.log("False");
// Equal
if(name_1 == name_2) console.log("True");
else console.log("False");
// Strict not equal
if(name_1 !== name_2) console.log("True");
else console.log("False");
// Not equal
if(name_1 != name_2) console.log("True");
else console.log("False");
출력:
True
True
False
False
Strict not equal (!==
) 연산자와 같지 않음 (!=
) 연산자를 사용하면 값 자체가 두 변수에서 동일하므로 둘 다 출력으로False
를 인쇄합니다.
아래는 문자열을 정수와 비교하는 또 다른 예입니다. 여기에는 문자열 값인"80"
값을 가진 변수str
이 있습니다. "80"
의 정수 값을 포함하는 또 다른 변수num
이 있습니다. 이 두 변수는 데이터 유형이 다른 동일한 값을 갖기 때문에 다양한 비교 연산자를 사용할 때 어떤 일이 발생하는지 살펴 보겠습니다.
let str = "80";
let num = 80;
// Strict Equal
if(str === num) console.log("True");
else console.log("False")
// Equal
if(str == num) console.log("True");
else console.log("False")
// Strict not equal
if(str !== num) console.log("True");
else console.log("False")
// Not equal
if(str != num) console.log("True");
else console.log("False")
출력:
False
True
True
False
첫 번째 예와 마찬가지로 각각 다른 비교 연산자를 나타내는 4 개의if
및else
문도 있습니다.
Strict equals 또는 triple equals (===
)를 사용할 때 출력으로False
가 표시됩니다. 그 이유는 값이 동일하더라도 데이터 유형이 다르기 때문입니다. 그러나 double equals (==
)를 사용하면 double equals는 유형이 아닌 값만 확인하기 때문에 출력으로True
를 얻습니다.
그리고 Strict not equal (!==
)을 사용하면 문자열 값"80"
이 정수 값80
과 같지 않기 때문에 출력으로True
를 얻습니다. 따라서True
를 반환합니다.
마지막으로 같지 않음 (!=
) 연산자는 두 변수의 값만 비교합니다. True
를 인쇄하려면 값이 달라야합니다. 이 경우 값이 동일하므로False
를 반환합니다.