# String in JavaScript

```javascript
JS မှာ Strings တွေကို ဆရာကျကျ ဘယ်လိုရေးမလဲ?
```

Web technology ကို စလေ့လာမယ်ဆိုရင် အခြေခံဖြစ်တဲ့ **HTML**, **CSS** နဲ့ **JavaScript** ကတော့ ကျော်သွားလို့မရတဲ့ Technologies တွေပါပဲ။

![1344866_5c41.jpg](https://cdn.hashnode.com/res/hashnode/image/upload/v1577505025956/kH40T70S1.jpeg?auto=compress,format&format=webp align="left")

### HTML (HyperText Markup Language)

**HTML** ကို အခြေခံအားဖြင့် Web page တွေတည်ဆောက်ဖို့အတွက် အသုံးပြုပြီး Web design တစ်ခုဖန်တီးဖို့အတွက် လိုအပ်တဲ့ *Layout ၊ Color ၊ Font* စတဲ့ အပြင်အဆင်တွေကိုတော့ **CSS** (*Cascading Style Sheets*) ကို အသုံးပြုပြီး လုပ်ရပါတယ်။

![FB_IMG_1453990987432.jpg](https://cdn.hashnode.com/res/hashnode/image/upload/v1577505817083/ePiOHp7Th.jpeg?auto=compress,format&format=webp align="left")

(ဗဟုသုတတစ်ခုအနေနဲ့ ပြောချင်ပါတယ်)

> ***HTML ဆိုတာ Programming language တစ်ခုမဟုတ်ပါဘူး၊ သူဟာ Markup language တစ်ခုပဲဖြစ်တယ်၊ Markup language ဆိုတာ ကိုယ်ဖော်ပြချင်တဲ့ documents တွေ text တွေကို tags တွေကြားမှာရေးရတဲ့ ပုံစံမျိုးဖြစ်ပါတယ်။ Human-readable လည်းဖြစ်တဲ့အတွက်ကြောင့် Programminng Languages တွေထက်နားလည်ဖို့ လွယ်ကူပါတယ်***

```javascript
 <body> Hello HTML </body>
```

*Web design* တစ်ခုဖြစ်ဖို့က **HTML** နဲ့ **CSS** ကိုပဲ သုံးပြီးလုပ်နိုင်ပေမယ့် *Business Logic* တွေပါတဲ့ *Web application* တစ်ခုတည်ဆောက်ဖို့အတွက်ဆိုရင် **JavaScript** ကတော့ မပါမဖြစ်တဲ့ *Scripting Language* အမျိုးအစားထဲက Programming Language တစ်ခုဖြစ်ပါတယ်။ အခုမှစပြီး **JavaScript** ကို စလေ့လာချင်တာပဲဖြစ်ဖြစ် လက်ရှိသိတာထက် ပိုသိချင်လို့ပဲဖြစ်ဖြစ် အောက်မှာ ဖတ်လို့ကောင်းတဲ့ *JavaScript Ebook* လေးတစ်ခု share ထားပါတယ်။

အခု Post နဲ့ ပတ်သတ်ပြီး ပြောချင်တာကတော့ **JavaScript** မှာ ရှိတဲ့ String အသုံးပြုပုံလေးပါ။

> ***အသုံးပြုပုံက ရိုးရှင်းပေမယ့် ဆရာကျကျ သုံးနည်းလေးတွေ သိအောင် နည်းနည်းလင်းပါမယ်။***

---

## What is String?

String ဆိုတာကတော့ ပုံမှန်သိနေကျအတိုင်း Sequence of characters တွေပါပဲ။ Character တစ်ခု ဒါမှမဟုတ် တစ်ခုထက်ပိုတဲ့ Characters တွေပါဝင်တဲ့အတွက်ကြောင့် သူ့မှာ *Letters*, *Numbers* နဲ့ *Symbols* တွေ အားလုံးပါဝင်နိုင်ပါတယ်။

**JavaScript** မှာ ရှိတဲ့ *String type* က **Primitive data type** အမျိုးစားပဲဖြစ်ပါတယ်။ ဒါကတော့ **Java Programming** မှာရှိတဲ့ String type နဲ့ မတူတဲ့အချက်ပါ (Java မှာရှိတဲ့ String က *Object* အမျိုးစားဖြစ်ပါတယ်) Language ၂ ခုလုံးမှာ တူတဲ့အချက်ကတော့ *immutable* ဖြစ်တာပဲဖြစ်ပါတယ်။

[**Read String in Java**](https://phyowainyunt-mm.hashnode.dev/string-in-java)

### Creating and Showing Output of Strings

String တစ်ခုရဖို့အတွက် **JavaScript** မှာ *Single quote* **(' ')** နဲ့

*Double quote* \*\*(" ")\*\*ကို အသုံးပြုလို့ရပါတယ်။

```javascript
<script>
    let str1 = 'String with single quote.';
    let str2 = "String with double quote.";
    console.log(str1);
    console.log(str2);
</script>
```

> ***Output:***
> 
> ***String with single quote.***
> 
> ***String with double quote.***

ပုံမှန်အားဖြင့် **JS** မှာ string ကို *Single quote* ***(' ')*** နဲ့ပဲရေးရေး *Double quote* ***(" ")*** နဲ့ပဲရေးရေး အတူတူပါပဲ။

နည်းနည်း ထူးခြားလေးတွေတော့ ရှိပါတယ်။

```javascript
let str1 = 'I don\'t like banana.';
let str2 = "I like \"apple\" in the fruits.";

console.log(str1);
console.log(str2);
```

> ***Output:***
> 
> ***I don't like banana.***
> 
> ***I like "apple" in the fruits.***

အခုလိုမျိုး string တစ်ခုမှာ single quote **(' ')** နဲ့ double quote **(" ")** ကို ပါစေချင်တဲ့အခါ ပုံမှန်အတိုင်းရေးလို့မရပဲ backslash **(\\)** ကို ရှေ့ကခံပြီးရေးမှပဲရပါတယ်။

ဒါပေမယ့် အဲ့လိုမျိုး backslash **(\\)** ခံနေရမှာရှုပ်တယ်ထင်ရင် နောက်ထပ်ပုံစံရေးလို့ရပါသေးတယ်။

```javascript
let str1 = “I don’t like banana.”;
let str2 = ‘I like ”apple” in the fruits.’;

console.log(str1);
console.log(str2);
```

> ***Output:***
> 
> ***I don’t like banana.***
> 
> ***I like “apple” in the fruits.***

အခုလိုမျိုး string တစ်ခုမှာ value ကို double quote **(" ")** နဲ့ အဖွင့်ပိတ်လုပ်ပြီး အထဲမှာ single quote **(' ')** ပါချင်ရင် backslash **(\\)** ခံစရာမလိုပဲ ပေါ်စေချင်တဲ့အတိုင်း ဒဲ့ရေးလို့ရပါပြီ။ Double quote ပါစေချင်ရင်လည်း ပြောင်းပြန်ယူဆပြီး ရေးရင်ရပါပြီ။ ဒီလောက်ဆိုရင်တော့ **JavaScript** ရဲ့ string တွေမှာ double quote **(" ")** နဲ့ single quote **(' ')** တွေပါစေချင်ရင် ရှင်းရှင်းလင်းလင်းရေးလို့ရလောက်ပါပြီ။

ဒါပေမယ့် အခုပြောတဲ့ ၂ ခုစလုံးက ဆရာကျကျရေးတဲ့ နည်းလမ်းတွေတော့မဟုတ်သေးဘူး။ တကယ့်ဆရာကျတဲ့နည်းက *backtick* **(\` \`)** ကိုသုံးပြီးရေးတဲ့နည်းပါ။ ဒါကိုတော့ **Template Literal** လို့လည်းခေါ်ပါတယ်။

```javascript
let str1 = `This is regular string.`;
let str2 = `This is ‘string‘ with single quote.`;
let str3 = `This is “string” with double quote`;

console.log(str1);
console.log(str2);
console.log(str3);
```

> ***Output:***
> 
> ***This is regular string.***
> 
> ***This is ‘string‘ with single quote.***
> 
> ***This is “string” with double quote.***

![534px-Tilde_key.svg.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1577505120067/90FJIRNda.png?auto=compress,format&format=webp align="left")

Backtick **(\` \`)** ကိုသုံးပြီးရေးမယ်ဆိုရင် အရင်လို **(" ")** နဲ့ **(' ')** အတွက် Backslash *(\\)* စဥ်းစားရတာတွေမလိုတော့ပဲ ထည့်ချင်တဲ့နေရာကို တိုက်ရိုက်ရေးလို့ရပါပြီ။ အခုလိုမျိုး **String Interpolation** တွေအပြင် **Variable Interpolation** တွေလည်း ရပါသေးတယ်။

```javascript
let job = "student";
let age = 18;
console.log(`I am a ${job}. I am ${age} years old.`);
```

> ***Output:***
> 
> ***I am a student. I am 18 years old.***

အခုလို variable ကို string တွေကြား ထည့်ချင်ရင် *${variable}* ပုံစံမျိုးဆို everything is ok ပါပြီ။

(အရင်လို ကလေးဆန်ဆန်ပဲ ရေးချင်ရင်တော့ အောက်ကအတိုင်းရေးနိုင်ပါတယ်)

```javascript
 console.log("I am a "+ job + ". I am "+ age + " years old.");
```

Be the smart in JavaScript

![introdução-ao-javascript.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1577505260854/rgUsP13ST.png?auto=compress,format&format=webp align="left")

Ebook download [**JavaScript notes for Professional**](https://app.box.com/s/06r9m10mqo8blmo2hit39ruxgzgteovi)
