≪ Today I learned. RSS購読
公開日
タグ
JavaScript
著者
ダーシノ

input要素で入力された値をvalueAsNumber、valueAsDateで取得する

input要素で入力されたものをinput#valueで取得すると、すべて文字列になってしまう。

ただ<input type="number"><input type="date">の場合は、文字列ではなく数値や日付オブジェクトとして取得したい。そのときにvalueAsNumbervalueAsDateを使うことで、数値や日付オブジェクトとして取得できる。

<input type="number" value="123" >

<input type="date" value="2022-04-04">
const num = document.querySelector('input[type="number"]')
console.log(
  num.value, // "123"
  typeof num.value, // "string"
  num.valueAsNumber, // 123
  typeof num.valueAsNumber // "number"
)

const date = document.querySelector('input[type="date"]')
console.log(
  date.value, // "2022-04-04"
  typeof date.value, // "string"
  date.valueAsDate, // "2022-04-04T00:00:00.000Z"
  typeof date.valueAsDate // "object"
)