簡體   English   中英

檢查javascript對象的屬性類型

[英]Check javascript object property type

我想知道是否有一種方法可以在javascript中定義對象屬性類型。 我的意思是,如果我有一個對象,並且想要確保a屬性是一個字符串,是否有辦法做到這一點?

到目前為止,我已經找到了使用getter和setter方法的解決方案:

const anObject = {

    "value": "a value", 

    get a () {
        return this.value 
    }, 

    set a (val) {
        if (typeof(val) == "string") {
            this.value = val
        } else {
            throw "Invalid type!"
        }
    }

}

這樣有效嗎? 有一個更好的方法嗎? 謝謝!

PS我知道js是一種非類型化的語言,因此我不希望有任何神奇的答案,但是也許人們想出了一些明智的解決方法。

我將值設為對象的屬性,並使用模塊reveakl patter對其進行封裝。 因為現在沒有什么可以阻止我向您的價值求索

function value () {
  let value = "";
  return {
    get () {
      return value
    },
    set (val) {
      if (typeof val !== 'string') {
        return 
      }
      value = val
    }
  } 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM