<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Alexander Ulizko - Latest Comments in YUI.Lang is buggy?</title><link>http://alexander-ulizko.disqus.com/</link><description></description><atom:link href="https://alexander-ulizko.disqus.com/yuilang_is_buggy/latest.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Mon, 13 Apr 2009 08:23:01 -0000</lastBuildDate><item><title>Re: YUI.Lang is buggy?</title><link>http://ulizko.com/posts/203/index.html#comment-124367600</link><description>&lt;p&gt;Я все же думаю, что правильнее будет такое поведение:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;var a = new Number(1);&lt;br&gt;YUI.Lang.isObject(a); // true&lt;br&gt;YUI.Lang.isNumber(a); // true&lt;br&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Потому что &lt;code&gt;a&lt;/code&gt; в данном случае - объект, но, одновременно, позволяет выполнять над собой операции, свойственные числам.&lt;br&gt;&lt;/p&gt;&lt;pre&gt;var a = new Number(2), b = new Number(22);&lt;br&gt;&lt;br&gt;b/a; // 11&lt;br&gt;b + a; // 24&lt;br&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Александр Улизько</dc:creator><pubDate>Mon, 13 Apr 2009 08:23:01 -0000</pubDate></item><item><title>Re: YUI.Lang is buggy?</title><link>http://ulizko.com/posts/203/index.html#comment-124367598</link><description>&lt;p&gt;Да в общем-то и спорить не о чем :) Главное, что и я и вы понимаем, что new Number() возвращает Object.&lt;/p&gt;&lt;p&gt;Просто я считаю, что YUI.Lang.isNumber проверяет именно тип переменной и должен возвращать true только если переменная типа Number.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Степан</dc:creator><pubDate>Mon, 13 Apr 2009 04:40:19 -0000</pubDate></item><item><title>Re: YUI.Lang is buggy?</title><link>http://ulizko.com/posts/203/index.html#comment-8015196</link><description>&lt;p&gt;С одной стороны, вы правы:&lt;br&gt;&lt;code&gt;&lt;br&gt;var a = new Number();&lt;br&gt;&lt;br&gt;alert(typeof a === 'object' &amp;amp;&amp;amp; a instanceof Number &amp;amp;&amp;amp; a instanceof Object);&lt;br&gt;// true&lt;br&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Получается,  Number Object это подобъект (ну, или что-то в этом роде) типа&lt;br&gt;Object.&lt;br&gt;А объект Number экземпляр встроенного объекта Number.&lt;/p&gt;&lt;p&gt;И ситуация с Boolean и String симметричная.&lt;/p&gt;&lt;p&gt;А с другой стороны, типов (в значении "набор значений данных") все равно&lt;br&gt;шесть - Undefined, Null, Boolean, Number, String и Object. Мы это знание&lt;br&gt;получим, прочитав 8 (стр. 31)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexander Ulizko</dc:creator><pubDate>Thu, 09 Apr 2009 15:35:09 -0000</pubDate></item><item><title>Re: YUI.Lang is buggy?</title><link>http://ulizko.com/posts/203/index.html#comment-7933217</link><description>&lt;p&gt;&lt;a href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf" rel="nofollow noopener" target="_blank" title="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf"&gt;http://www.ecma-internation...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Не поленился посмотреть спецификацию:&lt;/p&gt;&lt;p&gt;4.3.2 Primitive Value&lt;br&gt;A primitive value is a member of one of the types Undefined, Null, Boolean, Number, or String. A primitive value is a datum that is represented directly at the lowest level of the language implementation.&lt;/p&gt;&lt;p&gt;4.3.3 Object&lt;br&gt;An object is a member of the type Object. It is an unordered collection of properties each of which contains a primitive value, object, or function. A function stored in a property of an object is called a method.&lt;/p&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;4.3.20 Number Type&lt;br&gt;The type Number is a set of values representing numbers. In ECMAScript, the set of values represents the double-precision 64-bit format IEEE 754 values including the special “Not-a-Number” (NaN) values, positive infinity, and negative infinity.&lt;/p&gt;&lt;p&gt;4.3.21 Number Object&lt;br&gt;A Number object is a member of the type Object and is an instance of the built-in Number object. That is, a Number object is created by using the Number constructor in a new expression, supplying a number as an argument. The resulting object has an implicit (unnamed) property that is the number. A Number object can be coerced to a number value by calling the Number constructor as a function.&lt;/p&gt;&lt;p&gt;-----------------------&lt;/p&gt;&lt;p&gt;new Number возвращает именно объект (Object).&lt;/p&gt;&lt;p&gt;Кстати, немаловажно заметить, что примитивные типы передаются по значению, в то время как объекты передаются по ссылке.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">stepanvr</dc:creator><pubDate>Tue, 07 Apr 2009 05:28:02 -0000</pubDate></item><item><title>Re: YUI.Lang is buggy?</title><link>http://ulizko.com/posts/203/index.html#comment-7879646</link><description>&lt;blockquote&gt;Какая же это бага? Это скорее вы чего-то странного хотите :) Boolean&lt;br&gt;и Number это объекты-обертки над примитивными типами данных boolean и&lt;br&gt;number. &lt;/blockquote&gt;&lt;p&gt;&lt;br&gt;Любопытно. Если мне не изменяет память, встроенные типы данных -- это&lt;br&gt;Undefined, Null, Boolean, Number, String, Object. А примитивы boolean и&lt;br&gt;number - это что-то вроде "примитивных значений" соответствующих встроенных&lt;br&gt;типов. Хотя за правильность формулировки не ручаюсь, лень лезть в спеку.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;Методы YUI.Lang.isBoolean и YUI.Lang.isNumber как раз и проверяют&lt;br&gt;примитивного ли типа переменная.&lt;/blockquote&gt;&lt;p&gt;&lt;br&gt;Я хочу не странного, а того, чтобы эти методы возвращали true, если в них&lt;br&gt;передаешь примитив или встроенный тип.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;Кстати, я вообще не понимаю зачем использовать эти объекты в явном&lt;br&gt;виде&lt;/blockquote&gt;&lt;p&gt;&lt;br&gt;So am I :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexander Ulizko</dc:creator><pubDate>Sun, 05 Apr 2009 07:59:12 -0000</pubDate></item><item><title>Re: YUI.Lang is buggy?</title><link>http://ulizko.com/posts/203/index.html#comment-7822468</link><description>&lt;p&gt;&amp;gt;&amp;gt; Пойду на форум YUI рапортовать о баге.&lt;/p&gt;&lt;p&gt;Какая же это бага? Это скорее вы чего-то странного хотите :) Boolean и Number это объекты-обертки над примитивными типами данных boolean и number. Методы YUI.Lang.isBoolean и YUI.Lang.isNumber как раз и проверяют примитивного ли типа переменная.&lt;/p&gt;&lt;p&gt;Кстати, я вообще не понимаю зачем использовать эти объекты в явном виде и писать new Boolean, new Number и new String. Если нужны методы этих объектов, то примитивные типы boolean, number и string автоматически оборачиваются в эти объекты:&lt;/p&gt;&lt;p&gt;var a = 123.45678;&lt;br&gt;alert(a.toFixed(3));&lt;/p&gt;&lt;p&gt;Если же очень хочется писать new Number, то у полученного объекта есть метод valueOf, который возвращает "обернутое примитивное значение". Результат вызова valueOf и передавайте в YUI.Lang.isNumber, а курочить YUI не надо :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">stepanvr</dc:creator><pubDate>Sat, 04 Apr 2009 08:21:07 -0000</pubDate></item></channel></rss>