Кто я

Я обычный студент, которого сегодня выгнали со стажировки на направлении фронтенд. Всю свою старшую школу я хотел стать программистом и много кодить, создавать что-то свое, все предметы и экзамены мне приходилось терпеть, ведь без них я не мог достичь своей мечты. Сейчас в учебе у меня не все так гладко, хотя я и учусь в одном из ведущих вузах страны на техническом направлении - то, о чем я всегда мечтал.

У меня появились проблемы с мотивацией, и после сообщения куратора о том, что моя стажировка закончилась на середине из-за несерьезного подхода к работе, я понял, что надо менять отношение ко всему в своей жизни. Я решил завести этот блог, чтобы найти людей со схожими интересами и делится всем тем, что я переживу и чему научусь на своем пути.

Начало пути

Этот блог и будущие публикации будут содержать в основном контент о программировании: статьи, ресурсы, туториалы, создание приложений и т.д. В первых публикациях я хочу рассказать о базовых вещах, которые мне понадобятся для создания будущих проектов. Я давно выбрал фронтенд, поэтому сейчас изучаю JavaScript, HTML, CSS.

Переменные в JS

В JS есть 3 способа объявления переменной: let, var и const.

let variable;

С помощью let мы объявляем переменную variable. Далее мы можем присваивать этой переменной значение с помощью оператора присваивания "=".

Операторы в JavaScript

Имя

Сокращённый оператор

Смысл

Присваивание (en‑US)

x = y

x = y

Присваивание с вычитанием (en-US)

x -= y

x = x - y

Присваивание с умножением (en-US)

x *= y

x = x * y

Присваивание с делением (en-US)

x /= y

x = x / y

Присваивание по модулю (en-US)

x %= y

x = x % y

Присваивание с левым сдвигом (en-US)

x <<= y

x = x << y

Присваивание с правым сдвигом (en-US)Присваивание с правым сдвигом (en-US)

x >>= y

x = x >> y

Присваивание с беззнаковым сдвигом вправо (en-US)

x >>>= y

x = x >>> y

Присваивание с побитовым AND (en-US)

x &= y

x = x & y

Присваивание с побитовым XOR (en-US)

x ^= y

x = x ^ y

Присваивание с побитовым OR (en-US)

x |= y

x = x | y

Источник: https://developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Expressions_and_operators

variable = "Значение"; //тут мы сохраняем "Значение" в переменной variable

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

Но кроме let есть var, который не так часто используют для объявления переменной, как let. Это связано с очень важным отличием, которое я разберу после цикла for, потому что там мы уже будем иметь представление о блочной системе в коде.

Синтаксис var, const такой же, как и у let:

var variable; //все так же
variable = "Значение"; //тут мы сохраняем "Значение" в переменной variable

С помощью const мы объявляем константу, которую нельзя изменить в процессе кода, иначе будет ошибка:

const Var = "Значение"; //объявляем константу даты
variable = "Изменненое значение";  // мы не сможем этого сделать

Типы данных в JavaScript

При присваивании значения переменной у нее есть тип данных. В JS типы данных делят на 7 "примитивных" и не "примитивный" объект:

  • number(число)

  • string(строка)

  • boolean(true/false)

  • BigInt(числа произвольной длины)

  • null(неизвестное значение)

  • undefined(неопределённое значение)

  • Symbol

  • Object(не "примитивный" тип данных)

Тип данных number содержит числа и так же числа с плавающей запятой в диапазоне от-253 до 253. При присваивании переменной числа JS автоматически определяет тип данных number.

let one = 1; // js определяет one как number

Мы можем проверить это с помощью оператора typeof(arg), который возвращает нам тип данных аргумента arg.

let one = 1;
//выводим тип данных нашей переменой в консоль
console.log(typeof(one)); //number

string - это строка, то есть значение заключенное в двойные " " , одинарные ' ' или обратные кавычки ` `.

let one = "Один";
console.log(typeof(one)); //string

Это может быть и цифра, предложение и т.д.

let one = "Один";
console.log(typeof(one)); //string

one = "Один в поле не воин";
console.log(typeof(one)); //string

one = "1";
console.log(typeof(one)); //string

Обратные кавычки позволяют нам встраивать переменные в строку, используя конструкцию ${variable}

let one = "Один";
console.log(`${one} в поле не воин`); //Один в поле не воин

bolean(логический тип данных) содержит два значения - true/false(истинно/ложно)

let ImHuman = false; //я не человек
let ImRobot = true; //я робот
console.log(typeof(ImHuman), typeof(ImRobot)); //boolean boolean

При сравнении значений, типом данных результата будет boolean:

let result = 2 > 1;
console.log(result);//true

BigInt - тип данных, который используется в редкий случаях, его добавили, чтобы работать с числами выходящими за диапазон number. Создается BigInt с помощью добавления n в конец значения.

let onemore = 9007199254740991n;
console.log(typeof(onemore));//bigint

null - специальное значение, которое дает нам понять, что переменная "пустая"

let one = null;
console.log(typeof(one)); //object

И да, это object, потому что это, по сути, ссылка на несуществующий объект, и еще null примитивный.

Специальное значение undefined, как и null формирует отдельный тип, означающий "не определено". Например, когда мы объявляем переменную и не присваиваем значение.

let one;
console.log(typeof(one)); //undefined

Symbol - тип данных, предназначенный для создания идентификаторов. Пока что это все что, надо знать о Symbol, но в будущем я так и или иначе столкнусь с этим.

И object - тип данных, который отличается от всех типов данных тем, что он содержит сразу коллекцию значений, это может быть ключ - значение.

let pet = { 
    name: "Rex",  // под ключом "name" хранится значение "Rex"
    animal: "dog"   // под ключом "animal" хранится значение "dog"
  };
console.log(typeof(pet)); //object

Объект в JavaScript является очень важной частью. В будущем мы еще встретим очень много объектов.

В этой статье я попытался вам рассказать своими словами некоторую базу JS. В следующих статьях я буду описывать то, что узнаю сам в процессе своего обучения и становления компетентным человеком в сфере IT.

Источники: https://learn.javascript.ru/first-steps, https://developer.mozilla.org/ru/docs/Web/JavaScript

Комментарии (24)


  1. cherkalexander
    28.11.2023 10:09
    +8

    Я решил завести этот блог, чтобы найти людей со схожими интересами и делится всем тем, что я переживу и чему научусь на своем пути.

    А что хотите получить от подобного знакомства?

    Я обычный студент, которого сегодня выгнали со стажировки на направлении фронтенд.

    Высока вероятность, что за подобные статьи на хабре заминусуют и мотивация упадёт ещё ниже. Другое дело если напишите как так, почему пропала мотивация, что за универ, и почему всётаки выгнали со стажировки.


    1. valeryanov Автор
      28.11.2023 10:09

      Спасибо за отзыв, я учту это и в будущем постараюсь написать о причинах потери мотивации.


  1. SpiderEkb
    28.11.2023 10:09
    +5

    Скажите, а чем то, о чем вы собираетесь писать, отличается от, например, вот этого: Основы JavaScript или еще множества подобного, что несложно найти на просторах интернета?

    Вы это пишете чтобы что?


    1. valeryanov Автор
      28.11.2023 10:09

      Ничем, сейчас я пишу о том, что узнал, пытаясь объяснить это своими словами. Я пишу, чтобы как-то зафиксировать процесс моего обучения, моего пути.


      1. Oceanshiver
        28.11.2023 10:09
        +7

        Для такого формата материала больше подойдет личный блог, а не Хабр, имхо


  1. Tinkz
    28.11.2023 10:09
    +4

    Всё же если хотите чему-то научиться, то лучше, в первую очередь, читать, а не писать.


    1. bromzh
      28.11.2023 10:09

      Ну писать тоже надо, но программы, а не блоги.


      1. valeryanov Автор
        28.11.2023 10:09

        Это не блог, тут я буду как раз писать программы и стараться рассказать что-то полезное


        1. yarkov
          28.11.2023 10:09
          +2

          тут я буду как раз писать программы

          Какой необычный путь к бану


        1. bromzh
          28.11.2023 10:09

          Просто представьте, что каждый зарегистрированный тут пользователь, который ещё не умеет программировать, напишет подобную статью. Одни новички будут распространять свои когнитивные искажения и ошибки на других. Повысится или понизится их общий уровень знания?


    1. shsv382
      28.11.2023 10:09

      Почитайте про метод Фейнмана и...постарайтесь добрее быть что ли


      1. bromzh
        28.11.2023 10:09
        +1

        Метод Фейнмана, кмк, больше про обучение новых тем в области, в которой ты хоть немного шаришь или понимаешь базу. Есть новичок начинает учить других подобных, то все ошибки начнут множиться, ведь нет никакой системы отсеивания и оценки верности знаний.
        Ну вот прикиньте, человек не знает про научный метод, не знает матан, но начитался где-то про эфир, теплород или плоскую землю. И честно начинает учить физику заведомо неправильно. Ещё и транслировать это другим начинающим. Какая польза будет от этого? Ну вот он смог по методу Фейнмана доказать себе и другим людям, которые не шарят, что Земля плоская. Стала ли наша планета от этого менее округлой? Стали люди умнее?


        1. sentbegemot
          28.11.2023 10:09

          1. Чтобы изучать физику совсем не обязательно знать матан. Для объяснения каких-то простых правил совсем не обязательно быть академиком наук. Тут я согласен с предыдущим оратором, академик наук со своим матаном вряд ли сможет доходчиво объяснить начинающему, что 2+2=4, а не 5.

          2. Это же Интернет. Любому, кто пользовался им, интуитивно понятно, что здесь надо сравнивать несколько источников информации, и находить для себя самый подходящий, а не возводить первый попавшийся в абсолют. Борьба за чистоту Интернета попросту бесполезна.

          3. И да, может стоит попытаться быть чуточку добрее. Говорю прежде всего сам себе, тоже тот еще Белинский)).


  1. oTm0po3ok
    28.11.2023 10:09
    +4

    Идем вот сюда и учим https://learn.javascript.ru/, бесплатно, без регистраций и смс... От статьи толку ровно 0


    1. souls_arch
      28.11.2023 10:09
      -2

      Если бы ровно 0. Она еще и вредна. Зачем в современном JS нужна устаревшая var с несколькими не очень хорошими в большинстве случаев особенностями? Об этом лучше извещать сразу, но в статье - ни слова.


      1. JerryI
        28.11.2023 10:09

        Если js это только про var нууу. Я думаю никто не умрет если начинающий в начале своего пути забудет просто const и let и познает прототипы, классы и т.п


        1. souls_arch
          28.11.2023 10:09

          Вы абсолютно неправильно меня поняли. Я как раз за то, чтобы изучали всё, начиная с ванили. Мое замечание о том, что стоило упомянуть, что var больше не употребляется, а почему - я вам расскажу, когда ваши знания о языке будут глубже.


  1. Cere8ellum
    28.11.2023 10:09
    +1

    Прочитал статью только ради того, чтобы узнать почему выгнали со стажировки. Шта за кликбэйт? Где зёрна? :) Минусить не стал, но очень хотелось. Туториал от новичка порой опасен...


  1. shaman4d
    28.11.2023 10:09

    Зачем писать ЭТО и СЮДА, лучше писать код - пользы будет больше.


  1. vvf1973
    28.11.2023 10:09

    "все предметы и экзамены мне приходилось терпеть, ведь без них я не мог достичь своей мечты", "У меня появились проблемы с мотивацией".

    Похоже, фронтенд и J'S тоже терпит и пытается тянуть на морально-волевых усилиях. Как и всё остальное. Геймер?


  1. gymlyg
    28.11.2023 10:09
    +2

    Прочитал, для статьи уровня Хабра слабовато. Но продолжайте. И наверное не надо про ваши мотивации, просто старайтесь сделать интересный материал, более авторский, более разнообразный чем заметки на полях.


  1. rubinstein
    28.11.2023 10:09
    +1

    Зачем опять изобретать велосипед? Лучше поделитесь тем, за что вам выгнали. Это позволит избежать ошибок другим людям.


  1. RailJSPy
    28.11.2023 10:09

    Я хочу тоже внести свои пять копеек. Есть правило, о котором все знают - если хочешь чего то хорошо освоить, попробуй объяснить это другому. Человек не поленился, написал свою статейку, возможно что то гуглил по пути, искал информацию для того, кто ее будет читать. Но дело не в этом, у меня возник один вопрос, почему столько негативных комментов? То есть вместо того чтобы указать автору на возможные ошибки в статье, с дальнейшим исправлением их автором, чтобы направить мысли человека в нужную сторону, я лишь увидел ящик тухлых помидоров в его адрес. Успокойтесь всё таки и примите то, что среди тут сидящих нет каких то одаренных кодеров от Бога - они давно все сидят в maang) . Все начинали с каких то тупняков и продолжают так же тупить в более сложных вопросах, но зато похейтить новичков мы горазды)) короче бобра вам

    Автор спасибо за статью, продолжай в том же духе, развивай знания)


    1. valeryanov Автор
      28.11.2023 10:09

      Спасибо!)