ডেভসংকেত

ইএস৬ চিটশিট

ইএস৬ অথবা ইকমাস্ক্রিপ্ট হল স্ক্রিপ্টিং-ভাষা স্পেসিফিকেশন, ইকমা ইন্টারন্যাশনাল দ্বারা প্রমিত। এটি জাভাস্ক্রিপ্ট ভাষার একটি বড় বর্ধন, এবং বৃহত্তর স্কেল সফ্টওয়্যার গুলোকে আরও সহজ করার উদ্দেশ্যে অনেক বৈশিষ্ট্য যুক্ত করা হয়েছে

কন্ট্রিবিউটর

    শেয়ার করুন

    ভ্যারিয়েবল ডিক্লেয়ার করা

    • let, এই ডিক্লেরেশন দিয়ে ব্লক স্কোপ তৈরি করা হয়

      let a = 5
    • const, ব্লক স্কোপ তৈরী কিন্তু পুনরায় এসাইন বা ডিক্লেয়ার করা যায় না

      const pi = 3.1416

    একের অধিক লাইন একসাথে প্রিন্ট করা স্পেশাল ক্যারেক্টার ব্যবহার না করে

    • console.log(`Hello Programmer.
    • Welcome to Devsonket.`);
    • // Hello Programmer.
    • Welcome to Devsonket.

    লুপ

    • ফর অব লুপ

      for(let i of list){ // লুপের মধ্যের কাজ }
    • ফর ইন লুপ

      for(let i in list){ // লুপের মধ্যের কাজ }

    ইএস৬ ক্লাস

    • class Car {
    • constructor(brand) {
    • this.carName = brand; }
    • }
    • mycar = new Car('Audi')

    ডিস্ট্রাকচারিং অ্যারে

    • let [a, b] = [3, 6]
    • console.log(a) // 3 প্রিন্ট করবে
    • console.log(b) // 6 প্রিন্ট করবে

    অবজেক্ট প্রপার্টি এসাইন করা

    • const a = 5; const b = 10;
    • const obj = {a, b}
    • console.log(obj) // { a: 2, b: 5 } প্রিন্ট করবে

    স্প্রেড অপারেটর

    • const a = [1, 2]; const b = [4, 5, 6];
    • const c = [...a, 3, ...b, 7]
    • console.log(c) // [1, 2, 3, 4, 5, 6, 7] প্রিন্ট করবে

    প্রমিজ

    • প্রমিজ অবজেক্টটি একটি অ্যাসিনক্রোনাস অপারেশনের সমাপ্তি (বা ব্যর্থতা) এবং এর ফলাফলের মানকে উপস্থাপন করে।

      let promise = new Promise(function(resolve, reject) { // অন্য কাজ })
    • কাজ সঠিকভাবে সম্পন্ন হলে এই ফাংশন চলবে

      resolve(value)
    • কাজ সঠিকভাবে সম্পন্ন না হলে এই ফাংশন চলবে

      reject(error)

    অ্যারে প্রপার্টিস

    • আর্গুমেন্ট এর উপর নির্ভর করে একটি নতুন অ্যারে তৈরি করা

      Array.of(); যেমন: Array.of(1,2,3) // [1,2,3]
    • একটি অ্যারের শুরু ইনডেক্স থেকে শেষ ইনডেক্স পর্যন্ত একটি স্থির ভ্যালু এসাইন করা

      Array.fill(); যেমন: [0,0,0,0].fill(5, 1, 3) //  [0, 5, 5, 0]
    • একটি অ্যারের প্রথম উপাদানটির মান রিটার্ন করা যেটা সরবরাহ করা ফাংশনটিকে সত্যায়িত করে

      Array.find(); যেমন: [1, 2, 3].find(x => x == 3) // 3
    • একটি অ্যারের প্রথম উপাদানটির ইনডেক্স রিটার্ন করা যেটা সরবরাহ করা ফাংশনটিকে সত্যায়িত করে

      Array.findIndex(); যেমন: [1, 2, 3].findIndex(x => x == 3) // 2
    • অ্যারের কোনও অংশ কে একই অ্যারের অন্য স্থানে অনুলিপি করে অ্যারের দৈর্ঘ্য পরিবর্তন না করে রিটার্ন করা

      Array.copyWithin(); যেমন: [1, 2, 3, 4, 5].copyWithin(2, 0, 4) // [1, 2, 1, 2, 3]
    • অ্যারে রিটার্ন করে, যে কোন অব্জেক্ট থেকে যার দৈর্ঘ্য আছে বা একটি ইটারেবল অব্জেক্ট থেকে যেমন Set,Map

      Array.from(); যেমন: Array.from('hello') // [h,e,l,l,o]
    • একটি অ্যারের মধ্য থেকে সবগুলো ইনডেক্স বের করা

      Array.keys(); যেমন: var array = [1,2,4,]; console.log(..array.keys()); // 0 1 2
    • একটি অ্যারের মধ্য থেকে সবগুলো ভ্যালু বের করা

      Array.values(); যেমন: var array = [1,2,4,]; console.log(..array.values()); // 1 2 4

    ইএস৬ ইম্পোর্ট

    • একটি সম্পূর্ন ফাইল কে ইম্পোর্ট করা

      import 'devcode';
    • নাম ধরে ইম্পোর্ট করা

      import { sumTwoNumber, sumThreeNumber } from 'math/addition';
    • পুনঃনামকরণ করে কোন মডিউল ইম্পোর্ট করা

      import {sumTwoNumber as addTwo} from 'math/addition';
    • মডিউলের সবকিছু একসাথে ইম্পোর্ট করা

      import * as equation from 'math/addition';
    • কোন মডিউল থেকে ভ্যালুর লিস্ট ইম্পোর্ট করা

      import * as equation from 'math/addition'; const { sumTwoNumber, sumThreeNumber } = equation;
    • ডিফল্ট বাইন্ডিং ইম্পোর্ট করা

      import api from 'math/addition'

    টেম্পলেট স্ট্রিং

    • const name = 'Devsonket';
    • console.log(`Welcome to ${name}!`)
    • // Welcome to Devsonket!

    স্ট্রিং ম্যাথড

    • একটি স্ট্রিং এ নির্দিষ্ট কিছু অক্ষর আছে কিনা দেখে true অথবা false রিটার্ন করা

      includes(), যেমন: 'Apple'.includes('pl'), // true
    • কোন একটি স্ট্রিং নির্দিষ্ট কিছু অক্ষর দিয়ে শুরু হয়েছে কিনা দেখে true অথবা false রিটার্ন করা

      startsWith(), যেমন: 'Apple'.startsWith('bl'), // false
    • repeat(), একটি স্ট্রিং কতবার পুনরাবৃত্তি হবে তা বলা

      repeat(), যেমন: 'Apple'.repeat(2) // 'AppleApple'
    • একটি স্ট্রিং এর শুরুতে নির্দিষ্ট আরেকটি স্ট্রিং বসানো যতক্ষণ না পর্যন্ত স্ট্রিং টির নির্দিষ্ট দৈর্ঘ্য শেষ হয়

      string.padStart(targetLength, padString), যেমন: 'hello'.padStart(8, '!') // '!!!hello'
    • একটি স্ট্রিং এর শেষে নির্দিষ্ট আরেকটি স্ট্রিং বসানো যতক্ষণ না পর্যন্ত স্ট্রিং টির নির্দিষ্ট দৈর্ঘ্য শেষ হয়

      string.padEnd(targetLength, padString), যেমন: 'hello'.padEnd(8, '!') // 'hello!!!'
    • একটি স্ট্রিং এর শেষে নির্দিষ্ট স্পেসিং করা যতক্ষণ না পর্যন্ত স্ট্রিং টির নির্দিষ্ট দৈর্ঘ্য শেষ হয়

      string.padEnd(targetLength, padString), যেমন: 'hello'.padEnd(8) // 'hello   '

    এরো ফাংশন

    • const sum = (a, b) => a + b
    • console.log(sum(2, 8))
    • // 10 প্রিন্ট করবে
    • const mul = a => a * a  // একটি প্যারামিটার থাকলে () এর প্রয়োজন হয় না
    • console.log(mul(8))
    • // 64 প্রিন্ট করবে
    • const printPI = _ => 3.1416 // কোন প্যারামিটার না থাকলে _ দিলে ভালিড্‌ হয়
    • console.log(printPI())
    • // 3.1416 প্রিন্ট করবে

    ডিফল্ট প্যারামিটার

    • function print(a = 5) {
    • console.log(a) }
    • print() // 5 প্রিন্ট করবে
    • print(22) // 22 প্রিন্ট করবে

    ডিস্ট্রাকচারিং অবজেক্ট

    • let obj = {
    • a : 50,
    • b : 60
    • }
    • let {a, b } = obj;
    • console.log(a) // 50 প্রিন্ট করবে
    • console.log(b) // 60 প্রিন্ট করবে

    অবজেক্ট ফাংশন এসাইন করা

    • const obj = {
    • a: 10,
    • b() { console.log('b') }
    • }
    • obj.b() // b প্রিন্ট করবে

    প্যারামিটার্স

    • রেস্ট প্যারামিটার্স

      function logArg(...args){ // ভ্যালু দিয়ে কিছু করা }
    • নামকরণ প্যারামিটার্স

      function initialize({a=10,b=20,c=50}){ // ভ্যালু দিয়ে কিছু করা }

    নাম্বার প্রপার্টিস

    • এপ্সিলন মান বের করা

      Number.EPSILON
    • সবথেকে ছোট নিরাপদ সংখ্যা বের করা

      Number.MIN_SAFE_INTEGER
    • সবথেকে বড় নিরাপদ সংখ্যা বের করা

      Number.MAX_SAFE_INTEGER
    • একটি সংখ্যা ইন্টিজার কিনা দেখে true অথবা false রিটার্ন করা

      isInteger(ভ্যালু)
    • একটি সংখ্যা নিরাপদ ইন্টিজার কিনা দেখে true অথবা false রিটার্ন করা

      isSafeInteger(ভ্যালু)
    • একটি সংখ্যা অনন্ত ইন্টিজার সংখ্যা কিনা দেখে true অথবা false রিটার্ন করা

      isFinite(ভ্যালু)
    • একটি মান NaN কিনা সেটি দেখা

      isNaN(ভ্যালু)

    ইএস৬ এক্সপোর্ট

    • নামের মাধ্যমে এক্সপোর্ট করা

      export let name = 'Dev';
    • কয়েকটি অবজেক্ট কে একসাথে লিস্ট আকারে এক্সপোর্ট করা

      export { sumTwoNumber, multiplyTwoNumber };
    • একটি ফাংশন কে এক্সপোর্ট করা

      export function sumTwoNumber();
    • ডিফল্ট বাইন্ডিং এক্সপোর্ট করা

      export default api;

    ডেভসংকেত সম্পর্কে

    ডেভসংকেত এর লক্ষ্য হচ্ছে বাংলাতে একটা বড় চিটশিটের ভান্ডার গড়ে তোলা। এটা সম্পূর্ণ স্বাধীন এবং ওপেন সোর্স গিটহাব অর্গানাইজেশন।

    স্পন্সর