Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

HTML5 data-* Attribute: Type Casting Strings และ Numbers

Dataset คืนค่าเป็น String เสมอ

element.dataset.value จะคืนค่าเป็น String ต้องแปลงเอง

ตัวอย่าง

<a data-value="6.0">6.0</a>
<a data-value="6.5">6.5</a>

[...document.querySelectorAll("a")].forEach(a => 
    console.log("type: %s, value: %o", typeof a.dataset.value, a.dataset.value)
);
// ผลลัพธ์: type: string, value: "6.0" / "6.5"

แปลงเป็น Number

var num = Number(element.dataset.value);
// หรือ
var num = +element.dataset.value;
// หรือ parseFloat(element.dataset.value)

ไม่มี Type Casting อัตโนมัติ ต้องจัดการเองใน JavaScript