首頁 > web前端 > 前端問答 > javascript中為什麼字串不可變

javascript中為什麼字串不可變

青灯夜游
發布: 2022-02-16 14:47:45
原創
3448 人瀏覽過

在javascript中,字串的值是不可變的,這意味著一旦字串被創建就不能被改變;原因:字串本身是一種經過語言封裝後的基礎類型,底層還是一個對象,這個對象自從創建之後其內容就不能改變,所以字串不變。

javascript中為什麼字串不可變

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

在 JavaScript 中,字串 的值是 不可變的,這意味著一旦字串被建立就不能被改變。

例如,下面的程式碼:

var myStr = "Bob";
myStr[0] = "J";
登入後複製

是不會把變數 myStr 的值改成 「Job」 的,因為變數 myStr 是不可變的。

注意,這 並不 意味著 myStr 永遠不能被改變,只是字符串字面量 string literal 的各個字符不能被改變。

改變 myStr 中的唯一方法是重新給它賦一個值,就像這樣:

var myStr = "Bob";
myStr = "Job";
登入後複製

為什麼js中字串不可變?

其實字串本身就是經過語言封裝後的基礎型別(透過系統自帶的String建構函式new出來的),底層還是一個對象,不是簡單資料型別。這個物件自從創建之後其內容就不能改變,所以字串不變。

之類的操作只會產生新的字串對象,原來的字串物件不會改變。如果一個字串物件已經沒有被引用,就會被GC回收。

【相關推薦:javascript學習教學

#

以上是javascript中為什麼字串不可變的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板