Objective-J je programovací jazyk založený na JavaScriptu imitující Objective-C. Přidává dědičnost stylu Smalltalku a dynamické posílání zpráv mezi objekty. Programy napsané v Objective-J mohou být předkompilovány do čistého JavaScriptu nebo přeloženy až za běhu v prohlížeči.
Objective-J je vhodné k použití ve webových aplikacích. Na rozdíl od Google Web Toolkitu není nutné kód před nasazením na serveru kompilovat.
Objective-J je nadmnožinou JavaScriptu. Následuje příklad třídy dědící z CPObject:
@implementation Address : CPObject { CPString name; CPString city; } -(void)setName:(CPString)aName { name = aName; } -(CPString)name { return name; } +(id)newAddressWithName:(CPString)aName withCity:(CPString)aCity { self = [super init]; name = aName; city = aCity; return self; } @end
V tomto příkladu je implementována třída Address dědící z CPObject. Poskytuje dvě metody instance pro nastavení jména a jeho získání.