문제

I am have two noderefs in alfresco javascript file which i am trying to compare as below.

if(personRef == userAsscNodeRef){
    do something
}else{
    do something else
}

It seems to be syntactically correct but always going to else part. I tried with strict equal i.e. === as well as adding .toString() to both noderefs but still same result.

How can it be possible?

Regards.

도움이 되었습니까?

해결책

Assuming this is repo tier Javascript, you are really dealing with Java NodeRef objects and == behaves like it does in Java and compares identity. You want to compare equivalence, so use personRef.equals(userAssocNodeRef). Yes, pretty unexpected behavior. Beware of Strings and Date objects as well.

다른 팁

Use String():

if(String(personRef) == String(userAsscNodeRef)){
    do something
}else{
    do something else
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top