src/language-js/print/class.js/printClassProperty
function printClassProperty(path, options, print) {
  const n = path.getValue();
  const parts = [];
  const semi = options.semi ? ";" : "";

  if (n.decorators && n.decorators.length !== 0) {
    parts.push(printDecorators(path, options, print));
  }
  if (n.accessibility) {
    parts.push(n.accessibility + " ");
  }
  if (n.declare) {
    parts.push("declare ");
  }
  if (n.static) {
    parts.push("static ");
  }
  if (n.type === "TSAbstractClassProperty" || n.abstract) {
    parts.push("abstract ");
  }
  if (n.readonly) {
    parts.push("readonly ");
  }
  if (n.variance) {
    parts.push(path.call(print, "variance"));
  }
  parts.push(
    printPropertyKey(path, options, print),
    printOptionalToken(path),
    printTypeAnnotation(path, options, print)
  );
  if (n.value) {
    parts.push(
      " =",
      printAssignmentRight(n.key, n.value, path.call(print, "value"), options)
    );
  }

  parts.push(semi);

  return group(concat(parts));
}