【ES6】適当に試したり。正規表現とか
[code lang="javascript"]
function getKey(k) {
return `${k}`;
}
const obj = {
id: 5,
name: 'San Francisco',
[getKey('enabled')]: true,
};
console.log(obj)
///////////////////////////
function f(x, ...y) {//ここで受け取らない分が配列の要素としてyになる
// y is an Array
console.log(y)//["hello","true"]
return x * y.length;
}
const r1 = f(3, "hello", true) == 6
console.log(r1);//true
//////////////////////////////
function f(x, y, z, t, p) {//インデックス順に受け取る
console.log(z);
return x + y + z;
}
// Pass each elem of array as argument
//const arry = [1,2,3,5,6];
//f(...arry) == 6
//or
f(...[1,2,4]);
///////////////////////////////
let fibonacci = {
[Symbol.iterator]() {
let pre = 0, cur = 1;
return {
next() {
console.log([pre, cur] = [cur, pre + cur]);
return { done: false, value: cur }
}
}
}
}
//////////////////////
let [a, b, c] = []
console.log(a,b,c);
typeof b
function getSomething(){
return {
first: 1,
second: 2,
third: 3
}
}
var { first, second, third } = getSomething();
console.log(first)
console.log("repeat".repeat(2));
console.log(["morita","kenji","fafafa"].findIndex(x => x == "fafafa"))
console.log(["A","B","C"].map(x => Array.of(x)));
console.log(['a', 'b', 'c'].fill('kenji', 1, 2));
const i = [3, 0, 6, -1].find(x=> x < 0);
console.log(i)
function* idMaker(){
var index = 0;
while(true)
yield index++;
}
const gen = idMaker();
console.log(gen)
////////////////////////////
const str = "わたしの名前は「もりた」です。あだなは「もりけん」です";
const re = /「.*?」/ig;
const myRe=/ken*/g;
const str2 = "fafakenfafkenji";
let array;
while ((array = myRe.exec(str2)) !== null) {
let msg = array[0] + " を見つけました。";
msg += "次のマッチは " + myRe.lastIndex + " からです。";
console.log(msg);
}
const str3 = "<img src='fafa.com'>"
const str4 = "<p>"
const reg2 = /<(\S+)(\s+.+)?>/;
const reg3 = /<(?:\S+)(?:\s+.+)?>/;
const re2 = str3.match(reg2);
const re3 = str3.match(reg3);
const re4 = str4.match(reg2);
console.log(re2);console.log(re2[0]);
console.log(re3);console.log(re3[0]);
console.log(re4);console.log(re4[0]);
const str222 = "わたしの名前は「もりた」です。あだなは「もりけん」です";
const re222 = /「(.+?)」/ig;
let result;
while ((result = re222.exec(str222)) !== null){
console.log(result[0],"ここ")
}
const nen = "西暦1980年の3581歳です";
const reg1 = /\d+(?=年)/;
console.log(nen.match(reg1))
const string3 = "washable reasonable accessible assemble answerable";
const reg5 = /\b\w+(?=able\b)/g;
console.log(string3.match(reg5));
const nen1 = "ケンジは昭和55年生まれの35歳であり、ケンジの母は昭和22年生まれの64歳である"
const reg6 = /\d+(?![年\d])/g;
console.log(nen1.match(reg6));
const str5 = "あの客はよく柿食う客だ";
const res5 =str5.match(/あの(.+)はよく柿食う\1だ/);
console.log(res5);
const tag = "<div><h1>kenjimorita.jp</h1></div>";
console.log(/<(\w+)><(\w+)>kenjimorita.jp<\/\2><\/\1>/.test(tag))
// const str6 = "西暦2010年は平成22年です。西暦1980年は昭和55年です。";
// console.log(str6.match(/(?<=昭和|平成)\d+/))
const str7 = "My name is Taro Suzuki and I am a researcher at ABC.";
console.log(str7.match(/\ba\w*\b/g));
var falseValue = new Boolean(false);
console.log(falseValue)//false
var fafa = null;
console.log(typeof fafa)//Object
console.log(fafa == undefined)//等値演算子ではtrueになってしまう
console.log(fafa === null);//true //同値演算子を使う
[/code]