src/core/Subject.js
function(json){
  
  // Protect against forgetting the new keyword when calling the constructor
  if(!(this instanceof Subject)){
    return new Subject(json);
  }
  
  // If the given object is already an instance then just return it. DON'T copy it.
  if(Subject.isInstance(json)){
    return json;
  }
  
  this.init(json);
}
function(json){
  
  // Protect against forgetting the new keyword when calling the constructor
  if(!(this instanceof Subject)){
    return new Subject(json);
  }
  
  // If the given object is already an instance then just return it. DON'T copy it.
  if(Subject.isInstance(json)){
    return json;
  }
  
  this.init(json);
}
function ( json ) { // Protect against forgetting the new keyword when calling the constructor if ( ! ( this instanceof Subject ) ) { return new Subject ( json ) ; } // If the given object is already an instance then just return it. DON'T copy it. if ( Subject . isInstance ( json ) ) { return json ; } this . init ( json ) ; }
An object identified in time and space by various conclusions.

@see {@link https://github.com/FamilySearch/gedcomx/blob/master/specifications/json-format-specification.md#subject|GEDCOM X JSON Spec}

@class
@extends Conclusion
@param {Object} [json]
An object identified in time and space by various conclusions .