---
# System prepended metadata

title: JavaScript 基本語法

---

# JavaScript 基本語法

JavaScript 簡介
---

JavaScript（通常縮寫為**JS**）是一種進階的、直譯的程式語言。JavaScript是一門基於原型、函式先行的語言，是一門多範式的語言，它支援物件導向程式設計，指令式程式設計，以及函式語言程式設計。它提供語法來操控文字、陣列、日期以及正規表示式等，不支援I/O，比如網路、儲存和圖形等，但這些都可以由它的宿主環境提供支援。--Wikipedia

> **🌵 可以將 JavaScript 視為網頁執行的"腳本"。**

語法功能
---

### JavaScript 語法範例 :

```javascript=
let myName = " Tom Lin ";
let nameLength = myName.length;
let age = 20;
let age2 = parseInt("30");
let firstName = "Sam";
firstName = null;
let age3 = 40;
age3 = age3.toString();
//let content = "你好~我是"+myName+"，我今年"+age+"歲!";
//樣板字面值(Template literals)
let content = `你好~我是${myName}，我今年${age}歲!`;
console.log(typeof age2); //number
console.log(nameLength); //9
console.log(myName.trim()); //Tom Lin
console.log(content); //你好~我是 Tom Lin ，我今年20歲!
console.log(age>age2); //false
console.log("Hello"=="Hi"); //false
console.log(1 != 2); //true
```

## 語法**功能 :**

**console.log()** 顯示輸出值

**alert()** 彈出警告小視窗並顯示輸出值

**let** 宣告一個可修改變數（block scope）

**const** constant(常數)宣告一個不可修改變數

**var** variable(最早出現的)宣告一個可修改變數(最不嚴謹)

**typeof** 取得變數資料型別

**.trim()** 取得刪除前後空格的字串(中間不刪除)

**.toString()** 轉成字串

**\``字串${變數}字串`\`** 樣板字面值(Template literals)反引號 \` 中的文字為字串，使用 ${變數} 進行字串插補

### 補充:

- **NaN** Not a Number無法正常計算時的結果(例如:字串*字串或是用parseInt轉換非數字文字)，類別為number
- **undefined** 宣告的變數未被賦予值所得到的值，型別也是undefined(尚未被賦予值)
- **null** 宣告變數為空值，型別也是null(有被賦予值)，可用於釋放記憶體空間
- **比較運算子** 三個符號不會自動轉型(= = =)；兩個符號會自動轉型，比較不嚴格(= =)