# 【Day5】字串string、轉義字符 ###### tags: `JavaScript` `14th鐵人賽` 本篇文章將會介紹JavaScript字串 - 字串是什麼,如何使用 - 字串連接、索引、取區間中的值……等語法 - 樣板字面值 - 轉義字符 --- ## 字串 string 當你再JavaScript輸入文字時不同於數字直接輸入,字串需要以一組`' '`(單引號),`" "`(雙引號)包住,而在輸入時需保持一致、不可混用,若混用時將會收到錯誤訊息。 ```jsx console.log('我是使用單引號的字串'); // 我是使用單引號的字串 ``` ```jsx console.log("我是使用雙引號的字串"); // 我是使用雙引號的字串 ``` 若單雙引號混用則會收到錯誤的訊息 ```jsx console.log('我單雙引號混用"); // 錯誤 ``` ### 字串連接 若在JavaScript中要將字串連接非常簡單,可以透過+的字符連接字串。 ```jsx "我"+"想要"+"睡覺" // 我想要睡覺 ``` 再透過一個比較來看看了解字串連接: ```jsx "我今年 + 5*1"+"歲" // 我今年 + 5*1歲 ``` ```jsx "我今年" + 5*1 + "歲" // 我今年5歲 ``` 從上面的敘述方式可以發現只要是在引號中的內容皆會被視為字串,即便輸入數字也不會進行運算。 若在這邊加上變量 ```jsx let name = "小狗"; let doSomething = "睡覺"; name + "想要" + doSomething + 10 + "分鐘" // 小狗想要睡覺10分鐘 ``` ### 字串索引 在輸入一大串字串並想索引單個字符時該如何使用呢?假設輸入一個字串”今天颱風天停班,我要睡一整天”想要取他的第5個字,我們就可以透過索引的方式呈現 ```jsx let today = "今天颱風天停班,我要睡一整天"; today[5]; // 停 ``` 這邊可以發現輸入5卻索引到第6個字”停”,這是因為JavaScript在計算時是從0開始做計算因此第0位字為"今”以此類推,變可得出第5位值。 簡單介紹幾種可以用在字串的屬性如下 ### 區間內的值 使用`.substring`(起始,結束) ```jsx let today = "今天颱風天停班,我要睡一整天"; today.substring(0,7) // 今天颱風天停班 ``` 最後回返的值就會式0~7之間的6個字 ### 計算長度 需要計算字串內容長度時,可以使用.length的語法 ```jsx let today = "今天颱風天停班,我要睡一整天"; today.length // 14 ``` ### 移除空白 ```jsx let today = " 今天颱風天停班,我要睡一整天"; today.trim() // 今天颱風天停班,我要睡一整天 ``` 其他補充: ```jsx .toUpperCase //大寫 .toLowerCase //小寫 .charAt(數字x) //回傳字串第x個字 .indexOf("字元") //回傳字元序位 ``` ### 樣板字面值 在ES6中有更新「樣板字面值」寫法可以省去許多加號 ```jsx let name = "小狗"; let age = 18; //let content = "哈囉我是"+name+",我今年"+age+"歲"; let content = `哈囉我是${name},我今年${age}歲`; // 使用反引號 於變數時使用${ } console.log(content) //哈囉我是小狗,我今年18歲 ``` ## 轉義字符 若在字串中需使用引號時,該怎麼辦呢?若直接加上引號會發生錯誤的情況,因此可使用轉義字符,讓引號順利呈現。 ```jsx "我想要點一個,"麥脆雞套餐"" // 錯誤 "我想要點一個, \"麥脆雞套餐\"" // 我想要點一個, "麥脆雞套餐" ``` | 代碼 | 輸入 | | --- | --- | | \\ | \(反斜杠) | | \" | ''(雙引號) | | \' | '(單引號) | | \n | 換行 | | \t | 制表 | 我是一個剛開始學習JS的小白,若有問題歡迎指教討論唷~~(=^-ω-^=)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up