This repository was archived by the owner on Oct 23, 2018. It is now read-only.
forked from mishoo/UglifyJS
-
Notifications
You must be signed in to change notification settings - Fork 2
Variables and base types
dangreen edited this page Jan 3, 2015
·
6 revisions
You can define vars with any type (yet without checking).
var num = 1;
int i, j = 3;
String str = "someString";
Exists possibility to define object's property:
num myProfile.age = 19;
Also you can mark definition with modificators
:
const myProfile.age = 10;
list of modificators
:
-
const
to define constant -
covert
to define unenumerable property (not var) -
export
to export var or property from module (read more)
In ColaScript you can use follow syntax to reduce object filling:
String name = "Felix";
int age = 3;
String about = "Black'n'white sly cat.";
Object info = { name, age, about }; // { name: name, age: age, about: about }
Also you can use destructuring assignment
:
int a = 2, b = 3;
[a, b] = [b, a]; // swap
{ name, age, about, friends : [firstFriend] } = info; // with object
[firstSkill, ..., lastSkill] = skills; // with array
In ColaScript, like in CoffeScript, exists boolean aliases:
yes == true && on == true;
no == false && off == false;
ColaScript have strings templating! You can paste value of variable in strings:
console.log(`my login in twitter \@@twLogin`); // and yes, you can ` quotes
Also we can paste result of expression by this way:
console.log("length of my name @{ name.length }");
and this way:
console.log("first letter in my name is {{ name[0] }}");
It is still possible to use raw strings:
console.log(r"\n\r\t@raw");
Any string in ColaScript is multiline:
console.log("
List1:
- Write code
- Drink tea
- Watch Instagram
List2
* Write code
* Read Habrahabr
* Listen music
");
align goes by closing-quote.
Modifer x
skips whitespaces and new-line
same as if you use multiline RegExp:
// White spaces with `x` modifier will be removed.
RegExp isUrl = /^(https?:\/\/)? ([\w\.]+) \.([a-z]{2,6}\.?) (\/[\w\.]*)*\/? $/x;
// If regexp contains `new-line` then `x` modifier will be added automatically
isUrl = /
^
(https?:\/\/)?
([\w\.]+)
\.([a-z]{2,6}\.?)
(\/[\w\.]*)*\/?
$/;