변수를 문자열로 변환하는 Javascript 방법 소개
이 글에서는 Javascript에서 변수를 문자열로 변환하는 세 가지 방법을 주로 소개합니다. value.toString(), "" + value 및 String(value) 이 글에서는 샘플 코드를 사용합니다. 필요한 사람은 편집자를 따라가서 함께 배울 수 있습니다.
머리말
모든 사람은 JavaScript를 사용하여 변수를 문자열로 변환하는 3가지 방법이 있다는 것을 알아야 합니다. 이 기사에서는 이러한 방법을 자세히 소개하고 장점과 단점을 비교할 것입니다. 아래에서는 할 말이 많지 않으니, 자세한 소개를 살펴보겠습니다.
3가지 방법
변수를 문자열로 변환하는 3가지 방법은 다음과 같습니다.
value.toString()
value.toString()
"" + value
String(value)
当value为null或者undefined时,第1种方法就不行了。而方法2和方法3基本上是一样的。
""+value:
将value与空字符串相加,即可将其转换为字符串。这种方法其实是一种稍微晦涩的技巧,可能会让别人难于理解开发者的意图。不过,这一点见仁见智,有些人偏爱这种方法。
String(value): 这种方法非常清晰:使用String()
函数将value转换为字符串。不过,String()
有两种不同用法,容易混淆,尤其对于Java开发者来说。当String()
和运算符new一起作为构造函数使用时,它返回一个新创建的String对象;当不用new运算符调用String()
时,它只把value转换成原始的字符串。这两者是非常不同的:
> String("Fundebug") === new String("Fundebug") false > typeof String("Fundebug") 'string' > String("Fundebug") instanceof String false > typeof new String("Fundebug") 'object' > new String("Fundebug") instanceof String true
事实上,将String()
作为构造函数使用并不常见,因此仅使用它来转换字符串就好了。
“”+value与String(value)的细微差别
""+value
与String(value)
都可以将value转换为字符串,它们是如何做到的呢?事实上,它们虽然结果相同,但是方法稍有区别。
将primitive基本类型转换为字符串
两种方法都使用内部函数ToString()
将primitive基本类型转换为字符串。ToString()
函数在ECMAScript 5.1 (§9.8)中定义了,但是并不能直接使用,因此称作内部函数。下面的表格显示了ToString()
String(value) | value가 null이거나 정의되지 않은 경우 첫 번째 방법은 작동하지 않습니다. 그리고 방법 2와 방법 3은 기본적으로 동일합니다. |
---|---|
var obj = { valueOf: function() { console.log("valueOf"); return {}; }, toString: function() { console.log("toString"); return {}; } }; 로그인 후 복사 로그인 후 복사 | 사실 |
기본 기본 유형을 문자열로 변환 | |
result |
将Object转换为字符串
转换为字符串之前,两种方法都会先将Object转换为primitive。不同的是,""+value使用内部函数ToPrimitive(Number)
(除了date类型),而String(value)
使用内部函数ToPrimitive(String)
。
ToPrimitive(Number)
: 先调用obj.valueOf
,若结果为primitive则返回;否则再调用obj.toString()
,若结果为primitive则返回;否则返回TypeError。ToPrimitive(String)
: 与ToPrimitive(Number)
类似,只是先调用obj.toString()
,后调用obj.valueOf()
。
可以通过以下示例了解区别,obj如下:
var obj = { valueOf: function() { console.log("valueOf"); return {}; }, toString: function() { console.log("toString"); return {}; } };
调用结果:
> "" + obj valueOf toString TypeError: Cannot convert object to primitive value > String(obj) toString valueOf TypeError: Cannot convert object to primitive value
它们的结果相同
""+value
与String(value)
虽然不同,但是我们很少能感觉到。因为,大多数object使用默认的valueOf()
,它返回对象本身:
> var x = {} > x.valueOf() === x true
由于valueOf()
返回值并非primitive,因此ToPrimitive(Number)
会跳过valueOf()
,而返回toString()
的返回值。这样,与ToPrimitive(String)
的返回值就一样了。
当object是Boolean、Number或者String实例时,valueOf()
将返回primitive。这就意味着两者的计算过程是这样的:
ToPrimitive(Number)
:valueOf()
返回primitive值,然后使用ToString()
转换为字符串。ToPrimitive(String)
:toString()
通过ToString()
函数将primitive值转换为字符串。
可知,虽然计算过程不同,但是它们的结果是一样的。
结论
那么你该选择哪种方法呢?如果你可以确保value值不是null和undefined,那么不妨使用value.toString()
。否则,你只能使用""+value
和String(value)
,它们基本上是一样的。
위 내용은 변수를 문자열로 변환하는 Javascript 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











얼굴 검출 및 인식 기술은 이미 상대적으로 성숙하고 널리 사용되는 기술입니다. 현재 가장 널리 사용되는 인터넷 응용 언어는 JS입니다. 웹 프런트엔드에서 얼굴 감지 및 인식을 구현하는 것은 백엔드 얼굴 인식에 비해 장점과 단점이 있습니다. 장점에는 네트워크 상호 작용 및 실시간 인식이 줄어 사용자 대기 시간이 크게 단축되고 사용자 경험이 향상된다는 단점이 있습니다. 모델 크기에 따라 제한되고 정확도도 제한됩니다. js를 사용하여 웹에서 얼굴 인식을 구현하는 방법은 무엇입니까? 웹에서 얼굴 인식을 구현하려면 JavaScript, HTML, CSS, WebRTC 등 관련 프로그래밍 언어 및 기술에 익숙해야 합니다. 동시에 관련 컴퓨터 비전 및 인공지능 기술도 마스터해야 합니다. 웹 측면의 디자인으로 인해 주목할 가치가 있습니다.

PHP에서 int 유형을 문자열로 변환하는 방법에 대한 자세한 설명 PHP 개발에서 int 유형을 문자열 유형으로 변환해야 하는 경우가 종종 있습니다. 이 변환은 다양한 방법으로 수행할 수 있습니다. 이 기사에서는 독자의 이해를 돕기 위해 특정 코드 예제와 함께 몇 가지 일반적인 방법을 자세히 소개합니다. 1. PHP 내장 함수 strval()을 사용하세요. PHP는 다양한 유형의 변수를 문자열 유형으로 변환할 수 있는 내장 함수 strval()을 제공합니다. int형을 string형으로 변환해야 할 때,

제목: Golang에서 문자열이 특정 문자로 끝나는지 확인하는 방법 Go 언어에서는 문자열을 처리할 때 문자열이 특정 문자로 끝나는지 확인해야 하는 경우가 있습니다. 이 기사에서는 Go 언어를 사용하여 이 기능을 구현하는 방법을 소개하고 참조용 코드 예제를 제공합니다. 먼저 Golang에서 문자열이 지정된 문자로 끝나는지 확인하는 방법을 살펴보겠습니다. Golang의 문자열에 포함된 문자는 인덱싱을 통해 얻을 수 있으며, 문자열의 길이는 다음과 같습니다.

1. 먼저 pycharm을 열고 pycharm 홈페이지로 들어갑니다. 2. 그런 다음 새 Python 스크립트를 생성하고 마우스 오른쪽 버튼을 클릭하고 새로 만들기를 클릭한 후 Pythonfile을 클릭합니다. 3. 문자열(코드: s="-")을 입력합니다. 4. 그런 다음 문자열의 기호를 20번 반복해야 합니다(코드: s1=s*20). 5. 인쇄 출력 코드(코드: print(s1))를 입력합니다. 6. 마지막으로 스크립트를 실행하면 하단에 반환 값이 표시됩니다. - 20번 반복됩니다.

Golang에서 문자열이 특정 문자로 시작하는지 확인하는 방법은 무엇입니까? Golang으로 프로그래밍할 때 문자열이 특정 문자로 시작하는지 확인해야 하는 상황에 자주 직면하게 됩니다. 이 요구 사항을 충족하기 위해 Golang의 문자열 패키지에서 제공하는 기능을 사용할 수 있습니다. 다음에는 Golang을 사용하여 문자열이 특정 문자로 시작하는지 확인하는 방법을 구체적인 코드 예제와 함께 자세히 소개하겠습니다. Golang에서는 strings 패키지의 HasPrefix를 사용할 수 있습니다.

Go 언어는 문자열 가로채기를 포함하여 풍부한 문자열 처리 기능을 제공하는 강력하고 유연한 프로그래밍 언어입니다. Go 언어에서는 슬라이스를 사용하여 문자열을 가로챌 수 있습니다. 다음으로 Go 언어에서 문자열을 가로채는 방법을 구체적인 코드 예시와 함께 자세히 소개하겠습니다. 1. 슬라이싱을 사용하여 문자열 가로채기 Go 언어에서는 슬라이싱 표현식을 사용하여 문자열의 일부를 가로챌 수 있습니다. 슬라이스 표현식의 구문은 다음과 같습니다: Slice:=str[start:end]where, s

PHP에서 16진수 문자열을 변환할 때 중국어 문자가 깨지는 문제를 해결하는 방법 PHP 프로그래밍에서 때때로 16진수 문자열을 일반 중국어 문자로 변환해야 하는 상황에 직면합니다. 그러나 이러한 변환 과정에서 때때로 중국어 문자가 깨져 나오는 문제에 직면하게 됩니다. 이 기사에서는 PHP에서 16진수를 문자열로 변환할 때 중국어 문자가 깨지는 문제를 해결하는 방법과 구체적인 코드 예제를 제공합니다. 16진수 변환을 위해서는 hex2bin() 함수를 사용하세요. PHP에 내장된 hex2bin() 함수는 1을 변환할 수 있습니다.

js와 vue의 관계: 1. 웹 개발의 초석인 JS 2. 프론트엔드 프레임워크로서의 Vue.js의 등장 3. JS와 Vue의 상호 보완적인 관계 4. JS와 Vue의 실제 적용 Vue.
