메인 항목으로

2.14. 사용자 정의 속성의 json 형식으로 설정하는 경우 number 타입 입력 시 빈 값이 설정되는 현상

2.14.1. 변경 전

기존에는 사용자 정의 속성(userAttr)을 json 형식으로 설정하는 경우 값에 number타입 입력 시 해당 값이 저장되었습니다. 사용자 정의 속성의 key, value 값은 string 타입으로 입력되어야 하며, 이는 사실상 의도되지 않은 비정상적인 동작입니다.

2.14.2. 변경 후

1.0.5306 (2024년 9월 릴리즈) 버전에서 json object 설정 시 타입 검증 로직이 개선되면서 사용 자 정의 속성(userAttr) API 사용 시 string 값만 입력되도록 로직이 변경되었습니다. 기존에 string 타입 이외의 타입이 입력되는 경우 값이 저장되던 로직이 수정되어 현재는 다른 타입이 입력되는 경우 값이 저장되지 않습니다.

var button = app.lookup("button");
var vnWidth = 123;
button.userAttr({
    "width": vnWidth
});
// 기존에는 123 반환되었으나 1.0.5306 이후에는 빈 값(“”) 반환
console.log(button.userAttr("width"));

2.14.3. 조치 방안

사용자 정의 속성(userAttr) 사용 시 string 타입으로 값이 저장되도록 내부 로직을 수정해주시기 바랍니다.

var button = app.lookup("button");
var vnWidth = 123;
button.userAttr({
    "width": vnWidth + “” // string 형식으로 변경
});