Загрузка...

Каким образом js возводит строку в квадрат?

Тема в разделе Frontend создана пользователем Нэнси 24 июн 2024. 507 просмотров

  1. Нэнси
    Нэнси Автор темы 24 июн 2024 ДИЗАЙНЕР: АВАТАРКИ | БАННЕРЫ | WEB | GIF 60 25 апр 2022
    Каким образом js возводит строку в квадрат? Раньше я прогал на питоне, поэтому непривычно видеть такое :thinking:
    JS
    let b = '2';
    console.log(b**2);
    // Вывод: 4
    Я знаю, что ** возведение в степень. Я говорю о том, что в питоне чтобы возвести число в квадрат тебе нужно intовое число, а в js я возвожу строку
     
    24 июн 2024 Изменено
  2. Hollywood
    Hollywood 24 июн 2024 э 20 032 28 окт 2020
    1. Посмотреть предыдущие комментарии (2)
    2. жди
    3. Hollywood
      Нэнси, а, ну ему все равно видимо
    4. Hollywood
      Нэнси, спасибо кстати, что напомнил о том, что я хотел жс начать учить
  3. жди
    жди 24 июн 2024 10 789 27 авг 2023
    Math.pow(b, 2)
     
    1. Посмотреть предыдущие комментарии (0)
    2. жди
      Hollywood, ну не дублировать мне же твой ответ :pepePonyalDa:
    3. жди
      конечно, за 10 лет все поменялось, но в 2014 году было так:
      [IMG]
  4. морфий
    так тут блять также как и в питоне оператор **
     
    1. Нэнси Автор темы
      морфий, Я знаю, что ** возведение в степень. Я говорю о том, что в питоне чтобы возвести число в квадрат тебе нужно intовое число, а в js я возвожу строку
    2. Hollywood
      Нэнси, ну не возводи строку, если тебя это так напрягает
  5. mdn
    mdn 24 июн 2024 1 23 июн 2024
    js как и pyhton является языком с динамической типизацией. Ты производишь математическую операцию со строкой, затем js пытается изменить тип переменной на number и делает операцию

    https://learn.javascript.ru/type-conversions
     
    24 июн 2024 Изменено
    1. Нэнси Автор темы
      mdn, Ну вообще, допустим если ввести этот же код в питоне, то он выдаст ошибку . Я так понимаю это просто особенность js, что он может строку преобразовать в число, если производишь какую-то математическую операцию[IMG]
    2. mdn
      Нэнси, все верно, это особенность js. Если тебе такое не нравится, то советую глянуть в сторону typescript, тоже самое, но со строгой типизацией
    3. Нэнси Автор темы
      mdn, Понял, интересно очень, а то впервые с таким столкнулся и в голове не укладывается
  6. AIexa
    AIexa 24 июн 2024 Лучший софт - lolz.live/threads/1634798/ :+rep: 12 147 24 мар 2020
    ну в жсе это норма, как посчитает нужным так и делает, для мат операций если строка число, то походу решает делать умножение. А может это только для возведения в степень. Все сделано для уникумов, чтоб работало при любой хуйне
     
    1. Нэнси Автор темы
      AIexa, Видимо да
    2. жди
      вывод: использовать typescript :duck_classic:
      24 июн 2024 Изменено
  7. Daemon
    Daemon 24 июн 2024 1680 8 янв 2021
    у js -слабая типизация, т.е. допустимы неявные преобразования, у python - сильная
    https://habr.com/ru/articles/161205/
     
    24 июн 2024 Изменено
    1. Посмотреть предыдущие комментарии (1)
    2. Daemon
    3. Daemon
      renameduser_8505695, я понял, к чему это ты сказал, человек не был знаком с неявными преобразованиями, т.к. работал только с сильной типизацией
  8. билборды
    Потому в js "2" + 2 = 4
     
  9. mazfuck0ff
    mazfuck0ff 16 июл 2024 Пропагандирую вежливость и вам того советую 276 23 мар 2017
    Работает преобразование типов. Ты же пытаешься возвести строку в степень. Это математическая операция. Если это математическая операция он попытается преобразовать строку в число, и после возвести в степень.
     
Загрузка...
Top