diff --git a/transpiler/src/main/java/org/jsweet/transpiler/extension/RemoveJavaDependenciesAdapter.java b/transpiler/src/main/java/org/jsweet/transpiler/extension/RemoveJavaDependenciesAdapter.java index 72f0b014..d1912cd4 100644 --- a/transpiler/src/main/java/org/jsweet/transpiler/extension/RemoveJavaDependenciesAdapter.java +++ b/transpiler/src/main/java/org/jsweet/transpiler/extension/RemoveJavaDependenciesAdapter.java @@ -863,7 +863,7 @@ public class RemoveJavaDependenciesAdapter extends Java2TypeScriptAdapter { return true; case "get": printMacroName(targetMethodName); - print("((m,k) => m[k]?m[k]:null)("); + print("((m,k) => m[k]===undefined?null:m[k])("); print(invocation.getTargetExpression(), delegate).print(", ").print(invocation.getArgument(0)) .print(")"); return true; diff --git a/transpiler/src/test/java/source/nativestructures/Maps.java b/transpiler/src/test/java/source/nativestructures/Maps.java index 859d9fbc..1061411e 100644 --- a/transpiler/src/test/java/source/nativestructures/Maps.java +++ b/transpiler/src/test/java/source/nativestructures/Maps.java @@ -82,6 +82,9 @@ public class Maps { m3.remove("a"); assert m3.size() == 1; + m3.put("c", 0); + assert m3.get("c") == 0; + Map m4 = new HashMap<>(); m4.put(1, 1); assert m4.size() == 1; @@ -91,6 +94,7 @@ public class Maps { m4.remove(1); assert m4.size() == 1; + $export("trace", trace.join(",")); }