Basic javascript - Variables

การประกาศตัวแปรในภาษา Javascript ไม่ต้องระบุประเภทของตัวแปร ทำได้สามวิธีคือ

  • var
  • let
  • const

var

เป็นการประกาศตัวแปรทั่วๆไป เช่นเดียวกับการประกาศตัวแปรในภาษาอื่น

test("Declare number variable", function(){
    var number = 100

    expect(number).toEqual(100)
})

test("Declare string variable", function(){
    var text = "วันหนึ่งฉันเดินเข้าป่า"

    expect(text).toEqual("วันหนึ่งฉันเดินเข้าป่า")
})

สามารถถูกกำหนดค่าใหม่ได้

test("Reassign number", function(){
    var number = 100
    expect(number).toEqual(100)

    number = 999
    expect(number).toEqual(999)
})

สามารถถูกกำหนดค่าใหม่โดยที่ชนิดของตัวแปรเป็นอย่างอื่นได้

test("Reassign number with string", function(){
    var number = 100
    expect(number).toEqual(100)

    number = "ไม่กินต้มไก่"
    expect(number).toEqual("ไม่กินต้มไก่")
})

let

คล้ายกับการประกาศตัวแปรโดยการใช้ var มาก จะต่างกันในเรื่องของ scope ซึ่งจะอธิบายในภายหลัง

test("Declare number variable using let", function(){
    let number = 100
    expect(number).toEqual(100)
})

test("Declare string variable using let", function(){
    let text = "วันหนึ่งฉันเดินเข้าป่า"
    expect(text).toEqual("วันหนึ่งฉันเดินเข้าป่า")
})

สามารถถูกกำหนดค่าใหม่ได้

test("Reassign number using let", function(){
    let number = 1500
    expect(number).toEqual(1500)

    number = 11
    expect(number).toEqual(11)
})

สามารถถูกกำหนดค่าใหม่โดยที่ชนิดของตัวแปรเป็นอย่างอื่นได้

test("Reassign number with string using let", function(){
    let number = 20000
    expect(number).toEqual(20000)

    number = "ร้อยล้านวิว"
    expect(number).toEqual("ร้อยล้านวิว")
})

const

ตัวแปรแบบ const ย่อมาจาก constant แปลว่า ค่าคงที่ ซึ่งหมายความว่า เราไม่สามารถแก้ไขค่าของตัวแปรหลังจากประกาศไปแล้วได้ ในปัจจุบันนิยมเรียกว่า immutable

ใช้งานแบบปกติเหมือนกับ var

test("Declare number using const", function(){
    const fixNumber = 99

    expect(fixNumber).toEqual(99)
})

test("Declare string using const", function(){
    const fixText = "ไม่มีวันตาย"

    expect(fixText).toEqual("ไม่มีวันตาย")
})

แต่จะไม่สามารถกำหนดค่าใหม่กับตัวแปรแบบ const ได้

test("Can not reassign to const variable", function(){
    const fixNumber = 99
    expect(fixNumber).toEqual(99)

    expect(function() {
        fixNumber = 1010
    }).toThrow(TypeError)
})

results matching ""

    No results matching ""