Загрузка...

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

Thread in Frontend created by Нэнси Jun 24, 2024. 510 views

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

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