const json: {} | null | undefined = JSON.parse(queryData);
{
"defaultSeverity": "error",
"extends": [
"tslint:all"
],
"rules": {
}
}
'any' μ νμ ννμμ μμ νμ§ μκ² μ¬μ©νμ΅λλ€.
const json: any = JSON.parse(queryData);
μμ§λ§ κΈμ§ κ·μΉμ μ μ§νκ³ μΆμ΅λλ€.
'any' μ νμ ννμμ μμ νμ§ μκ² μ¬μ©νμ§ μκ³ JSON.parseλ₯Ό λ°ννλ λ°©λ²μ 무μμ
λκΉ?
μ¬κΈ°μ 무μμ κΈ°λνκ³ μλμ§ μ λͺ¨λ₯΄κ² μ΅λλ€... any
νκ³ μΆμ§λ§ no-any
κ·μΉμ μ μ§νμκ² μ΅λκΉ? κ·Έκ²μ μλ‘ μμ ν λͺ¨μλ©λλ€. 쿼리 λ°μ΄ν°μ λν΄ μΌμΉνλ μ νμ μ μΈνκ³ const json: YourType = JSON.parse(queryData);
μννμ§ λͺ»νλλ‘ νλ κ²μ 무μμ
λκΉ?
λ΅λ³ κ°μ¬ν©λλ€. λλ λͺ
ννμ§ μμλ€
λ΄ λͺ©νλ no-any κ·μΉμ μ μ§νλ κ²μ΄λ©° κ²½κ³ μμ΄ JSON.parse(queryData)μ κ²°κ³Όλ₯Ό μ»λ λ°©λ²μ κ²μν©λλ€.
Fo μ§κΈ json: any = JSON.parse(queryData); => νμ§λ§ no-anyλ₯Ό λΉνμ±νν΄μΌ ν©λλ€.
λ΄κ° λΉμ μ μ루μ
μνλ€λ©΄ : const json: YourType = JSON.parse(queryData);
κ·Έλ° λ€μ μμ νμ§ μμ λͺ¨λ κ·μΉμ λΉνμ±νν΄μΌ ν©λλ€.
μ΄κ²μ΄ λ΄κ° 첫 λ²μ§Έ μ κ·Ό λ°©μμμ μλνλ μ΄μ μ λλ€. const json: {} | λ | μ μλμ§ μμ = JSON.parse(queryData); https://palantir.github.io/tslint/rules/no-unsafe-any/ => λ¬Έμλ₯Ό 보면 no-unsafe-any λ° no any κ²½κ³ κ° μμ΅λλ€.
κ·Έλ¬λ JSON.parseλ λ¬Έμμ΄κ³Ό κ°μ λ€λ₯Έ μ νλ λ°νν μ μμΌλ―λ‘ μ΄ μ루μ
μ κ·Έλ μ§ μμ΅λλ€.
λλ μ€μ λ‘ ν΄κ²°μ±
μ΄ μλμ§ νμ€νμ§ μμ§λ§ μ λ¬Έκ°μκ² λ¬Όμ΄λ³΄λ κ²μ μ νΈν©λλ€.
@ohrrkan κ·νμ μ¬μ© μ¬λ‘λ μ’μ μ¬λ‘μ
λλ€. μΌλ°μ μΌλ‘ μ¬λλ€μ΄ νλ μΌμ JSON.parse(queryData) as MyType
μ
λλ€. TSLint μΈ‘μμ μ‘°μΉμ λν μκ΅¬κ° λ§μ§ μμκΈ° λλ¬Έμ νμ¬λ‘μλ μ΄κ²μ μ€ν λΆκ°λ₯μΌλ‘ λ«μ΅λλ€. λμμ΄ λκΈ°λ₯Ό λ°λλλ€!