iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0
JavaScript

入門JavaScript系列 第 4

變數與值簡介

  • 分享至 

  • xImage
  •  

JavaScript 中的變數和數據值是編程的基礎。理解這些概念對於掌握 JavaScript 的其他功能非常重要。
以下是 JavaScript 變數與值的簡介:

1. 變數(Variables)

變數用於儲存數據值,並且這些值可以在程序中進行操作和使用。JavaScript 提供了三種主要的變數聲明方式:

  • var:在 ES6(ECMAScript 2015)之前的聲明方式。var 具有函數作用域,並且會被提升(hoisting),這意味著變數可以在聲明之前被使用。

    var x = 10;
    console.log(x); // 10
    
  • let:ES6 引入的變數聲明方式,具有塊級作用域,適合用於控制變數的作用範圍。與 var 不同,let 不會被提升。

    let y = 20;
    if (true) {
        let y = 30; // 這裡的 y 是不同的變數
        console.log(y); // 30
    }
    console.log(y); // 20
    
  • const:ES6 引入的聲明方式,用於聲明常量,即一旦賦值後不能更改。const 也具有塊級作用域。

    const z = 40;
    // z = 50; // 這會引發錯誤,因為 const 變數不能重新賦值
    

2. 數據類型(Data Types)

JavaScript 中的數據類型分為原始數據類型和複合數據類型:

  • 原始數據類型:包括數字、字符串、布爾值、nullundefined 和符號(ES6 引入)。

    • 數字(Number):包括整數和浮點數。

      let age = 25; // 整數
      let price = 19.99; // 浮點數
      
    • 字符串(String):由一系列字符組成,用於儲存文本。

      let name = 'John Doe';
      let greeting = "Hello, world!";
      let multiline = `This is a
      multiline string.`;
      
    • 布林值(Boolean):用於表示真假值。

      let isActive = true;
      let isCompleted = false;
      
    • null:表示“無”或“空”的值。

      let emptyValue = null;
      
    • undefined:表示變數未被賦值。

      let notAssigned;
      console.log(notAssigned); // undefined
      
    • 符號(Symbol)(ES6 引入):用於唯一且不可變的數據。

      const uniqueSymbol = Symbol('description');
      
  • 複合數據類型:用於儲存複雜的數據結構。

    • 對象(Object):由鍵值對組成的數據結構,用於儲存多種不同類型的數據。

      let person = {
          name: 'Alice',
          age: 30,
          isStudent: false
      };
      console.log(person.name); // Alice
      
    • 數組(Array):有序的數據集合,通常用來儲存一系列值。

      let fruits = ['apple', 'banana', 'cherry'];
      console.log(fruits[1]); // banana
      
    • 函數(Function):也是一種對象,用於執行特定的操作。

      function greet(name) {
          return `Hello, ${name}!`;
      }
      console.log(greet('Bob')); // Hello, Bob!
      

3. 變數作用域(Variable Scope)

變數作用域決定了變數在程式中的可訪問範圍。

  • 全局作用域:變數在程序的任何地方都可以訪問。

    var globalVar = 'I am global';
    function test() {
        console.log(globalVar); // I am global
    }
    test();
    
  • 函數作用域:變數僅在函數內部可訪問。

    function myFunction() {
        var localVar = 'I am local';
        console.log(localVar); // I am local
    }
    console.log(localVar); // ReferenceError: localVar is not defined
    
  • 塊級作用域letconst 變數的作用域是塊級的,即僅在花括號 {} 內部可見。

    if (true) {
        let blockVar = 'I am block-scoped';
        console.log(blockVar); // I am block-scoped
    }
    console.log(blockVar); // ReferenceError: blockVar is not defined
    

4. 變數提升(Hoisting)

變數提升指的是變數聲明會被提升到作用域的頂部,但賦值不會。

console.log(a); // undefined
var a = 5;
console.log(a); // 5

上一篇
JavaScript實際用途應用
下一篇
變數與值應用
系列文
入門JavaScript30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言