Документация — это способ погрузиться вглубь языка

Начинающего программиста может сбить с толку любой язык программирования. Например, с чего начать и где остановиться (хотя остановки нет). Но есть такая вещь, как освоение языка, и именно здесь документация может стать оружием для начинающего программиста.

Давайте начнем с того, что я недавно узнал из чтения документации.

1) Глубокое погружение в parseInt():

С помощью parseInt() мы преобразуем любую строку в число. Но мы также можем преобразовать любую строку (число) в любую систему счисления.

console.log(parseInt('100')); //100
console.log(parseInt('100', 10)); //100
console.log(parseInt('100', 2)); //4
console.log(parseInt('100', 8)); //64
console.log(parseInt('0x100')); //256
console.log(parseInt('100', 16)); //256

В последних двух примерах выходные данные одинаковы, хотя реализация отличается. Поскольку каждая строка начинается с «0x», ее можно рассматривать как шестнадцатеричное представление. Также до 2013 года любая строка, начинающаяся с «0», считалась восьмеричной записью.

Ярлык для преобразования любой строки в число:

console.log(typeof +'100'); //number
const number = +'100';
console.log(typeof(number)); //number

Поместите «+» перед любой строкой, тогда она будет преобразована в число.

2) Различные способы доступа к свойствам объекта:

class Student{   
  constructor(name, institution){
     this.name = name;         
     this.institution = institution;   
  } 
}
const me = new Student('Md. Shafayet Maruf', 'DIU');
console.log(me.name);          //Md. Shafayet Maruf
console.log(me['institution']) //DIU

В примере в первый раз доступ к свойству объекта «Студент» осуществляется с использованием «точечной нотации», а во второй раз — с использованием «скобочной нотации».

3) Различные способы доступа к символу по определенному индексу в строке:

const brand = 'Walton'
console.log(brand.charAt(0)); //W
console.log(brand[0]) //W

Второй метод, называемый «скобочной нотацией», представлен в ECMAScript 5. Использование «скобочной нотации» для удаления значения индекса или манипулирования (например, присвоения значения) значением невозможно.

4) Извлечь код символа из любого символа:

const _string = "character"
console.log(_string.charCodeAt(1)); //104

5) padEnd()/padStart() :

const _string = "character"
console.log(_string.padEnd(15, '-_-')); //character-_--_-
console.log(_string.padStart(17, '-_-')); //-_--_--_character

padEnd() даст определенную длину (первый параметр) в конце текущей строки. padStart() делает то же самое, только в начале дает длину. С указанием длины строки в качестве первого параметра он также принимает второй параметр, где он принимает любой символ, который будет добавлен к существующей строке до заданной длины строки.

6) Универсальный eval():

const num = '100 + 100';
console.log(eval(num)); //200
const numObj = new String('100 + 100');
console.log(eval(numObjs)); //String "100 + 100" 

В первом примере num объявляется литералом String (примитивный тип), а во втором примере numObj объявляется объектом String.

Объект String и литерал eval() ведут себя по-разному. Потому что в примитивном типе eval() ведет себя со строкой как с исходным кодом, где eval() рассматривает объект String как другой другой тип объекта. Для решения этой проблемы у JavaScript есть решение:

console.log(eval(numObjs.valueOf())); //200

valueof() возвращает примитивный тип объекта.

7) Сравнение строк без учета регистра:

const firstString = 'anything';
const secondString = 'Anything';
const comparison = firstString == secondString;
console.log(comparison); //false

«==» сравнивает две строки с учетом регистра. Для сравнения без учета регистра:

const equals =(firstString, secondString) => {
    return firstString.toUpperCase() === secondString.toUpperCase;
}
equals('anything', 'Anything'); //true

8) Повторяющаяся строка:

console.log('repeat '.repeat(2)); //repeat repeat

Метод repeat() повторяет любую строку с заданным временем.

9) for… цикла:

Ярлык традиционного цикла for.

const array = [1, 2, 3, 4, 5];
for(const value of array){
   console.log(value);
} //1 2 3 4 5

что насчет порядкового номера? продолжайте читать…

10) for… в цикле:

const array = [1, 2, 3, 4, 5];
for(const value in array){
   console.log(value); 
} // 0 1 2 3 4

Выглядит так же, как for .. of, но в нем есть что-то особенное. Вместо того, чтобы зацикливаться на значениях, он зацикливается на свойствах.

const student= {
    name: 'Shakib Khan',
    id: '420',
    institution: 'BFDC'
}
for(const property in student){
   console.log(property); 
} // name id institution

Программирование — это развлечение. Так что продолжайте программировать.