---
# System prepended metadata

title: 11.24 JS
tags: [MFEE, Javascript]

---

# 11.24 JS

###### tags: `Javascript`、`MFEE`

講師：張至寧　Eddy Chang
個人網站：https://eddychang.me/
上課教材：
從 ES6 開始的 JavaScript 學習生活 (電子書)
https://eddy-chang.gitbook.io/javascript-start-from-es6/
額外講義、程式碼：
https://github.com/eyesofkids/mfee11-js

## 零、目錄&待辦事項

## 壹、建置環境、安裝node、vscode等工具

[建置環境](https://github.com/eyesofkids/mfee11-js/blob/main/%E6%95%99%E6%9D%90/1124/%E5%BB%BA%E7%BD%AE%E7%92%B0%E5%A2%83.md)
* github desktop

* node js (LTS版本)
Chocolatey不用裝。
如何確認是否安裝node?
打開命令提示字元輸入node檢查，日後若更新就到控制台的城市管理移除掉，然後下載新版安裝
* vscode & 相關套件：
1. Chinese Package for VS Code
2. Babel JS，把語法字高亮度顯示
3. Eslint，檢查工具
4. Prettier，排版工具
5. VScode Icon，把檔案圖示更新


## 貳、JS簡介
老實說現在看抓不到重點，要等熟悉JS再看後比較有感

[JavaScript 100%新手快速入門](https://github.com/eyesofkids/mfee11-js/blob/main/%E6%95%99%E6%9D%90/1124/JavaScript%20100%25%E6%96%B0%E6%89%8B%E5%BF%AB%E9%80%9F%E5%85%A5%E9%96%80.pdf)

JS書籍介紹，你所不知道的JS，有免費英文版跟簡中版

## 參、VS Code介面介紹、建立第一個連結JS的HTML檔

Vscode是以資料夾作為專案，所以不同的案件就開不同的資料夾。開啟不同的資料夾時，vscode就會重啟，讓終端機重新指定到開啟的資料夾。

建立HTML後，以script:src連結JS檔案。
script:src要放在body結尾前，渲染完網頁架構及CSS後，再執行互動功能才能完全顯現。

## 肆、變數與常數

> **上課講義：**
[ES6](https://github.com/eyesofkids/mfee11-js/blob/main/%E6%95%99%E6%9D%90/1124/es6.pdf)
[JS保留字](https://github.com/eyesofkids/mfee11-js/blob/main/%E6%95%99%E6%9D%90/1124/JS%E4%BF%9D%E7%95%99%E5%AD%97.md)
[7種資料類型、基本詞彙、物件](https://github.com/eyesofkids/mfee11-js/blob/main/%E6%95%99%E6%9D%90/1124/js-cheatsheet1.pdf)

### 一、變數
* 不要再用var來定義變數了。
* 變數用let宣告。
= 是指定、給定、賦予值的意思，而不是比較的等於。
* JS是弱資料型態的語言，所以變數的資料類型(型別)是會變化的。
```javascript=
let days = 'saturday'
```
### 二、常數
* ES6是大幅更新的一個版本，開始有了常數(constant)的概念，常數其實是變數，只是他的值固定了。
* 常數用const來宣告。常數宣告給定值後，就不能再次給定，他的資料類型(型別)也在一開始就決定好了。
```javascript=
const omg = 1

omg = 'HELLO'  
// TypeError: Assignment to constant variable.

omg = 2
// TypeError: Assignment to constant variable.
```

* 常數可以用於物件或陣列的宣告，因為指定的是「地址」（記憶體位置），若住戶有變動仍不影響地址。常數也可以用於表達是的函數。
* 要檢測某個變數是否為陣列，要使用Array.isArray(x)，用typeof(x)會顯示出是物件。

```javascript=
const seatNumber = [1, 5, 7, 10]
const seatNumber = [1, 2, 7, 10]
// Uncaught SyntaxError: Identifier 'seatNumber' has already been declared
const seatNumber[1] = 2
// 這樣寫才OK~
```



### 三、撰寫習慣

* 優先使用常數
* 若確定值會變化，就宣告變數
* 一開始宣告變數時，就直接給定一個值。
如果不確定的話，數字類型就給0、字串就給''(空字串)。
* 若不確定變數類型，就給null。

## 伍、

## 陸、

## 柒、

## 捌、

## 玖、

## 拾、