스택큐힙리스트

JavaScript에서 변수가 문자열인지 확인하십시오. 본문

카테고리 없음

JavaScript에서 변수가 문자열인지 확인하십시오.

스택큐힙리스트 2024. 1. 23. 07:00
반응형

자바스크립트에서 변수가 문자열인지 아니면 다른 타입인지 어떻게 확인할 수 있을까요?

답변 1

이 방법이 나에게 동작합니다:


if (typeof myVar === 'string' || myVar instanceof String)
// 이건 문자열입니다
else
// 다른 종류의 값입니다


 // 이 접근법을 테스트하세요:
let isString = value => typeof value === 'string' || value instanceof String;
let falseCases = [
[ 'null', null ],
[ 'undefined', undefined ],
[ 'object', { a: 1, b: 2 } ],
[ 'array', [ 1, 2, 3 ] ],
[ 'number', 123 ],
[ 'zero', 0 ],
[ 'RegExp', new RegExp('hello') ],
[ 'number with valueOf returning string', Object.assign(10, { valueOf: () => 'abc' }) ],
[ 'object pretending to be string', { constructor: String } ]
];
let trueCases = [
[ 'empty literal string', '' ],
[ 'unicode string literal', String.fromCharCode(10000) ],
[ 'empty boxed string', new String('') ],
[ 'unicode boxed string', new String(String.fromCharCode(10000)) ],
[ 'string with overwritten constructor', Object.assign('hi', { constructor: Array }) ],
[ 'string with overwritten toString', Object.assign('hi', { toString: 123 }) ],
[ 'string with overwritten valueOf', Object.assign('hi', { valueOf: 123 }) ],
[ 'string with overwritten constructor', Object.assign('hi', { constructor: RegExp }) ],
[ 'proxied string', new Proxy(new String('hello'), {}) ],
];
console.log('NEGATIVE TESTS:');
for (let [ name, val ] of falseCases) {
console.log(`Test ${name}:\n Expect: false\n Got: ${isString(val)}`);
}
console.log('\nPOSITIVE TESTS:');
for (let [ name, val ] of trueCases) {
console.log(`Test ${name}:\n Expect: true\n Got: ${isString(val)}`);
}


답변 2

JavaScript에서 변수가 문자열인지 확인하는 방법에 대해 알아보겠습니다. JavaScript는 동적 타입의 언어이기 때문에 변수의 타입이 런타임 중에 결정됩니다. 때문에 변수가 문자열인지 확인하기 위해서는 몇 가지 방법을 사용할 수 있습니다.
1. typeof 연산자: typeof 연산자는 변수의 타입을 반환합니다. 변수가 문자열이라면 string을 반환하며, 아닐 경우 다른 타입을 반환합니다. 따라서, 다음과 같이 사용하여 변수가 문자열인지 확인할 수 있습니다:
```
if(typeof 변수 === string){
// 변수는 문자열입니다.
}
```
2. instanceof 연산자: instanceof 연산자는 특정 타입의 객체를 확인할 때 사용됩니다. JavaScript에서 문자열은 String 객체로 처리되므로, instanceof 연산자를 사용하여 변수가 문자열인지 확인할 수 있습니다:
```
if(변수 instanceof String){
// 변수는 문자열입니다.
}
```
3. 자료형 추론: JavaScript는 동적 타입 언어이기 때문에 변수의 타입을 추론할 수 있습니다. 변수를 일시적으로 String 객체로 변환하고, 변환된 값을 확인하여 변수가 문자열인지 확인할 수 있습니다:
```
if(String(변수) === 변수){
// 변수는 문자열입니다.
}
```
위의 방법들을 사용하여 JavaScript에서 변수가 문자열인지 확인할 수 있습니다. 각 방법에 따라 코드를 작성하여 변수의 타입을 확인하고, 필요에 따라 해당 코드를 사용할 수 있습니다. 변수가 문자열이 아닌 다른 타입일 경우, 추가적인 조치를 취할 수도 있습니다. 이러한 방법들은 JavaScript 개발자들에게 유용하며, 프로그램의 신뢰성을 높이는 데 도움을 줄 수 있습니다.
이 문서는 JavaScript에서 변수가 문자열인지 확인하는 방법에 대한 설명을 포함하고 있습니다. JavaScript 프로그램을 개발하는 개발자들에게 도움이 될 것이라고 기대합니다. JavaScript 변수 타입 확인, 변수가 문자열인지 확인하기, JavaScript 문자열 타입 확인 등과 같은 검색어를 이용하여 이 문서를 찾을 수 있도록 SEO를 고려하였습니다.

반응형
Comments