最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue中String() 和 .toString()的區(qū)別小結(jié)

 更新時間:2026年02月13日 10:09:25   作者:半花  
本文主要介紹了Vue中String()和.toString()的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

想了解 String() 全局函數(shù)和 .toString() 方法的區(qū)別,這是 JavaScript 中常見的類型轉(zhuǎn)換知識點,我會從用法、兼容性、邊界場景三個維度幫你講清楚,新手也能輕松理解。

核心區(qū)別總覽

表格

特性String() 全局函數(shù).toString() 方法
調(diào)用方式函數(shù)調(diào)用(String(xxx))實例方法調(diào)用(xxx.toString())
空值處理可處理 null/undefined(不報錯)處理 null/undefined 直接報錯
原始值處理直接轉(zhuǎn)換原始值(如數(shù)字、布爾)原始值會先裝箱為對象,再調(diào)用方法
返回結(jié)果所有合法輸入都返回字符串僅非空值能返回字符串,空值拋錯
適用場景不確定值是否為 null/undefined 時確定值為非空原始值 / 對象時

總結(jié)

  • 核心差異String() 能安全處理 null/undefined.toString() 會拋錯;

  • 結(jié)果一致場景:處理非空原始值(數(shù)字、布爾、字符串)時,兩者返回結(jié)果相同;

  • 特殊能力.toString() 支持?jǐn)?shù)字進(jìn)制轉(zhuǎn)換,String() 無此功能;

  • 開發(fā)建議

    • 不確定值是否為空 → 用 String();
    • 確定值非空 + 需進(jìn)制轉(zhuǎn)換 → 用 .toString();
    • 處理對象 / 數(shù)組 → 兩者結(jié)果一致,任選即可。

具體用法&差異詳解

處理null/undefined(最核心區(qū)別)

這是兩者最關(guān)鍵的差異,也是實際開發(fā)中最容易踩坑的點:

// 1. String() 處理 null/undefined → 不報錯,返回對應(yīng)字符串 
console.log(String(null)); // "null" 
console.log(String(undefined)); // "undefined" 

// 2. .toString() 處理 null/undefined → 直接拋 TypeError 
console.log(null.toString()); // Uncaught TypeError: Cannot read properties of null (reading 'toString') 
console.log(undefined.toString());// Uncaught TypeError: Cannot read properties of undefined (reading 'toString')

處理原始值(數(shù)字、布爾、字符串)

兩者結(jié)果一致,但底層邏輯不同:

// 數(shù)字 
console.log(String(123)); // "123" 
console.log((123).toString()); // "123" 

// 布爾 
console.log(String(true)); // "true" 
console.log(true.toString()); // "true" 

// 空字符串 
console.log(String('')); // "" 
console.log(''.toString()); // "" 

// 特殊數(shù)字(NaN/Infinity) 
console.log(String(NaN)); // "NaN" 
console.log(NaN.toString()); // "NaN"

底層差異:String(123) 直接轉(zhuǎn)換原始數(shù)字;(123).toString() 會先把 123 裝箱為 Number 對象(new Number(123)),再調(diào)用對象的 toString() 方法。

處理對象(數(shù)組、普通對象)

  • String() 會調(diào)用對象的 toString() 方法(等同于 obj.toString());
  • 普通對象的 toString() 默認(rèn)返回 "[object Object]",數(shù)組的 toString() 會拼接元素:
// 數(shù)組 
const arr = [1, 2, 3];
console.log(String(arr)); // "1,2,3" 
console.log(arr.toString()); // "1,2,3" 

// 普通對象 
const obj = { a: 1 };
console.log(String(obj)); // "[object Object]" 
console.log(obj.toString()); // "[object Object]" 

// 自定義對象(重寫 toString) 
const customObj = { 
  toString() { 
    return "自定義字符串";
  } 
}; 
console.log(String(customObj)); // "自定義字符串" 
console.log(customObj.toString());// "自定義字符串"

處理空字符串 / 空值的邊界場景

// 空字符串 
console.log(String('')); // "" 
console.log(''.toString()); // "" 

// 0/空數(shù)組 
console.log(String(0)); // "0" 
console.log((0).toString()); // "0" 
console.log(String([])); // "" 
console.log([].toString()); // ""

實際開發(fā)中的選擇建議

優(yōu)先用String()

當(dāng)你不確定要轉(zhuǎn)換的值是否為 null/undefined 時(比如接口返回值、用戶輸入、變量可能未初始化),String() 更安全,不會報錯。

// 示例:處理接口返回的可能為空的值 
const res = { data: null }; 
const str = String(res.data); // "null"(不報錯)

用.toString()的場景

當(dāng)你明確知道值是非空的原始值 / 對象時(比如數(shù)字、數(shù)組),可以用 .toString(),語義更清晰。

// 示例:數(shù)字轉(zhuǎn)指定進(jìn)制字符串(toString 支持參數(shù),String 不支持) 
console.log((10).toString(2)); // "1010"(轉(zhuǎn)二進(jìn)制) 
console.log((10).toString(16)); // "a"(轉(zhuǎn)十六進(jìn)制)

補(bǔ)充:Number.prototype.toString(radix) 支持傳入進(jìn)制參數(shù)(2-36),這是 String() 沒有的功能。

到此這篇關(guān)于Vue中String() 和 .toString()的區(qū)別小結(jié)的文章就介紹到這了,更多相關(guān)Vue String()  .toString()區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue點擊右鍵出現(xiàn)自定義操作菜單實現(xiàn)代碼

    vue點擊右鍵出現(xiàn)自定義操作菜單實現(xiàn)代碼

    這篇文章主要給大家介紹了關(guān)于vue點擊右鍵出現(xiàn)自定義操作菜單實現(xiàn)的相關(guān)資料,在網(wǎng)頁中我們也希望可以像桌面軟件一樣,點擊右鍵后出現(xiàn)操作菜單,對選中的數(shù)據(jù)項進(jìn)行相應(yīng)的操作,需要的朋友可以參考下
    2023-08-08
  • vite打包優(yōu)化分片打包依賴包詳解

    vite打包優(yōu)化分片打包依賴包詳解

    這篇文章主要介紹了vite打包優(yōu)化分片打包依賴包,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Vue3?localStorage讀取數(shù)組并賦值的問題及解決

    Vue3?localStorage讀取數(shù)組并賦值的問題及解決

    這篇文章主要介紹了Vue3?localStorage讀取數(shù)組并賦值的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • Vue-Cli 3.0 中配置高德地圖的兩種方式

    Vue-Cli 3.0 中配置高德地圖的兩種方式

    這篇文章主要介紹了Vue-Cli 3.0 中配置高德地圖的兩種方式,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • 基于vue cli重構(gòu)多頁面腳手架過程詳解

    基于vue cli重構(gòu)多頁面腳手架過程詳解

    本文分步驟給大家介紹了基于vue cli重構(gòu)多頁面腳手架過程,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2018-01-01
  • 詳談vue+webpack解決css引用圖片打包后找不到資源文件的問題

    詳談vue+webpack解決css引用圖片打包后找不到資源文件的問題

    下面小編就為大家分享一篇詳談vue+webpack解決css引用圖片打包后找不到資源文件的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue3中reactive的對象清空所引發(fā)的問題解決方案(清空不了和清空之后再去賦值就賦值不了)

    vue3中reactive的對象清空所引發(fā)的問題解決方案(清空不了和清空之后再去賦值就賦值不了)

    在使用reactive定義的變量時,直接賦值會失去響應(yīng)式,為了清空?filters并確保響應(yīng)式,可以使用Object.assign({},?filters)或者遍歷對象逐個清除屬性,本文介紹vue3中reactive的對象清空所引發(fā)的問題解決方案(清空不了和清空之后再去賦值就賦值不了),感興趣的朋友一起看看吧
    2025-02-02
  • 詳解ESLint在Vue中的使用小結(jié)

    詳解ESLint在Vue中的使用小結(jié)

    ESLint是一個QA工具,這篇文章主要介紹了詳解ESLint在Vue中的使用小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 在vue中如何封裝G2圖表

    在vue中如何封裝G2圖表

    這篇文章主要介紹了在vue中如何封裝G2圖表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue學(xué)習(xí)教程之帶你一步步詳細(xì)解析vue-cli

    vue學(xué)習(xí)教程之帶你一步步詳細(xì)解析vue-cli

    這篇文章的主題是vue-cli的理解。或許,很多人在開發(fā)vue的時候,我們會發(fā)現(xiàn)一個問題——只會去用,而不明白它的里面的東西?,F(xiàn)在的框架可以說是足夠的優(yōu)秀,讓開發(fā)者不用為搭建開發(fā)環(huán)境而煩惱。但是有時候,我們還是得回到原始生活體驗一下,才能夠讓自己更上層樓。
    2017-12-12

最新評論

西藏| 迁西县| 武穴市| 青海省| 屯留县| 织金县| 开平市| 手游| 晋宁县| 内江市| 平山县| 高密市| 屯昌县| 苏尼特左旗| 荆州市| 高碑店市| 永登县| 游戏| 舒兰市| 台前县| 赤水市| 滨州市| 永昌县| 宝丰县| 甘孜县| 江川县| 安徽省| 靖边县| 深水埗区| 大埔县| 石门县| 长宁区| 灵寿县| 壤塘县| 鄂伦春自治旗| 淮北市| 景洪市| 长丰县| 甘肃省| 浑源县| 郓城县|