Im unten gezeigten Code habe ich einige Konstanten definiert. Ich möchte Symbol
verwenden, um sicherzustellen, dass jede Konstante einzigartig ist. Aber wenn ich die folgende Codezeile verwende:
if (isBtnDigitizePolygonClicked.value == true) { return polygDigiConstants.CONST_STRING_DIGITIZE; }
Der vom obigen Code zurückgegebene Wert ist Symbol('Digitize')
,但我期望它是Digitize
, wie in diesem Tutorial beschrieben: https://www.scaler.com/topics/enum-in-javascript/
Tutorial-Inhalt:
const Direction = Object.freeze({ North: Symbol('north'), East: Symbol('east'), West: Symbol('west'), South: Symbol('south'), }) const Pole = Object.freeze({ North: Symbol('north'), South: Symbol('south'), }) console.log(Direction.North === Pole.North) 上述代码的输出为: false
Bitte sagen Sie mir, wie man Symbol
richtig verwendet, um Eigenschaften zu definieren.
polygDigiConstants.js
function define(name, value) { Object.defineProperty(polygDigiConstants, name, { value: value, enumerable: true, writable: false, }); } export let polygDigiConstants = {}; define('CONST_STRING_DIGITIZE', Symbol('Digitize')); define('CONST_STRING_STOP_DIGITIZE', Symbol('Stop')); define('CONST_STRING_CLEAR_DIGITIZED', Symbol('Clear'));
polygDigiConstants.js
JS
polygDigiConstants.CONST_STRING_DIGITIZE将直接给你字符串'Digitize'。