LINUX.ORG.RU
ФорумTalks

Потыкал я тут этот ваш JS. Это нормально вообще?

 , , ,


0

1

Решил почитать про JavaScript. Читаю:

Большинство реализаций интерпретируют строки, начинающиеся с 0 как восьмиричные.

Не все браузеры так поступают. Некоторые (напр. Google Chrome) - интерпретируют числа в десятичной системе, даже если они начинаются с 0. Стандарт это допускает.

Это нормально вообще?



Последнее исправление: CYB3R (всего исправлений: 3)

Весь web - скопище костылей и подпорок, разбавленное всякой ересью. Так что да, жабаскрипт не выделяется из общего фона.

cipher
()
Последнее исправление: cipher (всего исправлений: 1)

js - это еще то говно. Копай-копай. Поэтому, ни один нормальный девелопер не занимается web-UI. Это ад какой-то, а если к говноязычку прибавить еще различное поведение в различных браузерах - все, повеситься можно.

JFreeM
()

ECMAScript сам по себе вполне строго специфицирован. Но вот его реализации и расширения для web (dom, etc)...

XVilka
()

js
нормально

Мало совместимые понятия

StReLoK
()

Да, это, конечно, жесть. Теперь у меня есть ещё одна причина ненавидеть тех, кто суёт JS в десктопы.

d1337r
()

Тонкости перевода? «допускает» = «про это в стандарте нет ни строчки»?

ollowtf
()
Ответ на: комментарий от JFreeM

Присоединяюсь к негодованию. ТС, пили бэк-энды, не мучай себя.

Insomnium
()

Что именно ты почитать решил?

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

Неявное приведение вообще всегда больное место динамично типизированных языков, чему тут удивляться?

Kalashnikov
()
Ответ на: комментарий от baverman

Хотя смотрел уже не в первый раз, смеялся в голос.

CYB3R
() автор топика
Ответ на: комментарий от Kalashnikov

Неявное приведение вообще всегда больное место динамично типизированных языков, чему тут удивляться?

Слаботипизированных. Питон за такие выкрутасы по башке настучит.

baverman
()

Стандарт это допускает

скорее всего просто забыли это застандартизировать. Теперь вот все кушают.

Bad_ptr ☕☕
()

Большинство реализаций интерпретируют строки, начинающиеся с 0 как восьмиричные.

Для недалеких: что такое восьмеричные строки?

damnemall
()

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

nu11
()
Ответ на: комментарий от nu11

Когда народ кинется переписывать chmod на js, тогда восьмиричная система и понадобится.

PolarFox
()

А это не на нем GNOME Shell написан?

ArtKun
()
Ответ на: комментарий от Deleted

Судя по всему в стандарте этого в принципе нет.

В strict режиме вообще синтаксическая ошибка будет (если ТС таки про литералы). Без него - самодеятельность браузеров интерпретаторов.

>>> 010
8
>>> "use strict"; 010
Syntax error at line 1: Invalid character
"use strict"; 010
--------------^

Kalashnikov
()
Ответ на: комментарий от Kalashnikov

Значит он таки запрещал. Тем лучше :)

Deleted
()
Ответ на: комментарий от chg

Вот представляешь, что будет, когда из-за этого бага в реализации джаваскрипта похерятся все права в Google ChromeOS?

CYB3R
() автор топика
Ответ на: комментарий от PolarFox

у пользователя прав никаких нет

Its just like 1984, have we no privacy no more?

CYB3R
() автор топика

Т.е. тебя удивляет, что разные имплементации языка имеют свои различия, расширения синтаксиса и т.д.? Чем это отличается от зоопарка C/C++? В чем состоит суть вброса-то?

trycatch
()
Ответ на: комментарий от Alve

а? пример неоднозначности из джавы пожалуйста, пропускаемой компилером?

JFreeM
()

Это нормально вообще?

Проблемы людей, не использующих use strict и линт - мало кого волнуют.

Vit
()
Ответ на: комментарий от CYB3R

Да и вообще тенденции таковы, что JS становится языком для всего.

производителям процессоров тоже кушать надо

cvs-255
()
Ответ на: комментарий от cvs-255

А вы думали, что дваядра-двагига для игор? Нет, это чтобы вконтактик не тормозил.

CYB3R
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.