Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ECMA262-Edition5.1読書会
Search
YukiFujisawa
July 23, 2014
Programming
0
75
ECMA262-Edition5.1読書会
https://devlove.doorkeeper.jp/events/11985
第4回 ECMA-262 Edition5.1読書会の登壇資料です。
第8条前半を要約しました
YukiFujisawa
July 23, 2014
Tweet
Share
More Decks by YukiFujisawa
See All by YukiFujisawa
チーム開発の枠組みと、それを支えるツール・役割の用語解説
yukifujisawa
3
1.3k
漫画ベイビーステップに 勇気をもらった人生
yukifujisawa
0
390
第1回 「システムテスト自動化 標準ガイド」 読書会 第1章 テスト自動化のコンテキスト
yukifujisawa
0
160
jQueryのようにWebテストが書ける Geb Navigator APIの紹介 第一回Geb勉強会
yukifujisawa
0
61
ECMA262-Edition5.1読書会 第10条 実行可能コードと実行コンテキスト
yukifujisawa
0
79
Other Decks in Programming
See All in Programming
Devoxx BE 2025 Loom lab
josepaumard
0
100
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
180
Catch Up: Go Style Guide Update
andpad
0
230
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
260
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
310
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
190
Six and a half ridiculous things to do with Quarkus
hollycummins
0
180
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
520
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
6
3.1k
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
200
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
2
540
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
500
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Making Projects Easy
brettharned
120
6.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
The Cost Of JavaScript in 2023
addyosmani
55
9k
Mobile First: as difficult as doing things right
swwweet
225
10k
Faster Mobile Websites
deanohume
310
31k
Designing for humans not robots
tammielis
254
26k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Transcript
ECMA262-Edition5.1読書会 2014/07/23 藤澤勇樹
第8条 型 ECMAScript言語型 仕様書型 Undefined型 Null型 Boolean型 String型 Number型 Object型
Reference型 List型 Completion型 など
8-1 Undefined型 値が格納されていない変数はこの値をも つ
TYPEOF関数 typeof演算子は対象となる値のデータ型 を表す文字列を返す演算
8-2 Null型 まさにnullと呼ばれる値を持つ これがObject型になるのはなぜか?? typeof null 過去に11.4.3のNullの結果を変えようという提案があったが、 下位互換性のために採用されなかった。 http://wiki.ecmascript.org/doku.php?id=harmony:typeof_null
8-3 Boolean型 trueとfalseと呼ばれる二つの値を持つ論 理要素を持つ
8-4 String型 16ビットの符号なし整数値を要素とするゼ ロ個以上の順列の並びである どの要素も単一のUTF16コード単位である とみなされる プリミティブ値でlengthが取得できるのはなぜか? var
str = ‘str’ str.length //3
8-5 Number型 倍数精度64ビットIEEE754形式で表される 符号:1ビット 指数部:11ビット 仮数部:52ビット
絶対値が2の53乗より小さい整数は、Number 型で表現することができる Math.pow(2,53)+1; Math.pow(2,53)+3; が不正確な値になるのはなせか?
丸めモード Number型で正確に表せるのは、2の52乗 まで その後は、2進数に直した最下位が丸め 対象となる 丸めは、偶数丸めモードとなる
2の1024を超えるとInfinity(無限大)となる
8-6 Object型 Object型はプロパティのコレクション。プロパティは以下の3 つに分類される 名前付きデータプロパティ 表5
名前付きアクセサプロパティ 表6 内部プロパティ 表8、表9
プロパティ属性 var obj = Object.create(Object.prototype, { x : { value
: 1, writable : true, // x の値が変更できる enumerable : true, // for (var k in obj) で x を辿ることができる configurable : true // 下に説明 } }
デフォルト属性値 表7のデフォルト属性は、Configurableが 少なくともtrueに思える。検証間違いか? 検証方法は、オブジェクトをcreateして、何もし ない状態でプロパティが削除できるかどうかを 検証した 削除できた
内部プロパティの[[Class]] オブジェクトの仕様で定義された分類を示 す文字列 Object.prototype.toStringを除いてプログ ラムにこの値へアクセスする方法を提供し ない点に注意すること Object.Constructor.nameで取得できるが これは仕様違反?
8-7 Reference仕様型 Reference型は、delete、typeof、代入演算子の ような演算子の振る舞いを説明するために使わ れる。 Referenceは以下、3つから成り立つ Base値:undefined,Object,Boolean,String,Number,
もしくは環境レコード リファレンス名:文字列 Boolean値であるstrictリファレンスフラグ
JavaScriptのReference型 JavaScriptのReference型: <base, referencedName> *グローバルオブジェクトの場合は base=Environment Record となる 10.2.1
“string”.lengthの場合 1. Type(string)が参照でなければVそのものを返 す 2. GetBase(string)の呼び出し結果をbase(String 型)とする 3. HasPrimitibeBaseはtrueなので、特別な [[GET]]メソッドにする
4. ToObject(Base)の呼び出し=>Stringオブジェ クト 5. Stringオブジェクトの内部メソッドをプロパティ 名”length”で呼び出した結果をdescとする