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
社内LT2019/10/24
Search
Kento Matsumoto
October 24, 2019
Programming
73
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
社内LT2019/10/24
Kento Matsumoto
October 24, 2019
More Decks by Kento Matsumoto
See All by Kento Matsumoto
ストーリーポイント.pdf
stepanve
0
98
社内LT2020/01/23
stepanve
0
53
社内LT2019/11/21
stepanve
0
67
社内LT2019/11/7
stepanve
0
86
Other Decks in Programming
See All in Programming
Contextとはなにか
chiroruxx
0
280
AIエージェントの隔離技術の徹底比較
kawayu
0
470
The NotImplementedError Problem in Ruby
koic
1
680
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
150
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
530
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
190
Inside Stream API
skrb
1
680
ふつうのFeature Flag実践入門
irof
7
3.7k
Oxlintのカスタムルールの現況
syumai
6
1.1k
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
490
RTSPクライアントを自作してみた話
simotin13
0
520
Vite+ Unified Toolchain for the Web
naokihaba
0
230
Featured
See All Featured
A better future with KSS
kneath
240
18k
Designing for Timeless Needs
cassininazir
1
250
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Fireside Chat
paigeccino
42
3.9k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
390
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
JavaScriptのデータ型 社内勉強会:2019/10/24
データ型 プリミティブ型 - 値型 - ラッパーオブジェクトが用意されている (Number, String, Boolean) ex)
数値・文字列・論理値・ null・undefined オブジェクト型 - 参照型 - プロパティを持っている ex) function, object .etc let a = 'a' let b = a // a=’a’ b=’a’ b = 'b' // a=’a’ b=’b’ let objA = new Object() let objB = objA // a={} b={} objB.b = 'b' // a={b:’b’} b={b:’b’}
ラッパーオブジェクトの挙動 let a = 'a' // ラッパーオブジェクトの例 a.length // 1
プリミティブ型をあたかもオブジェクトのように扱える let a = 'a' b = new String(a) b.length // 1 b = null // プロパティやメソッドが呼ばれる度にラッパーオブジェクト作成 let a = 'a' a.a = a a.a // undefined
オブジェクトを固くしたい時 (freeze, seal, extensions) プロパティの追加 プロパティの削除 プロパティの値変更 extensions ✖ ⭕
⭕ seal ✖ ✖ ⭕ freeze ✖ ✖ ✖ ‘use strict’で使用するとエラーで落ちます!!
オブジェクトを固くしたい時 (freeze, seal, extensions) let objA = {a: 1} let
objB = {b: 1} let objC = {c: 1} Object.freeze(objA) Object.seal(objB) Object.preventExtensions(objC) Object.isFrozen(objA) // true Object.isFrozen(objB) // false Object.isFrozen(objC) // false let objA = {} let objB = {} let objC = {} Object.freeze(objA) Object.seal(objB) Object.preventExtensions(objC) Object.isFrozen(objA) // true Object.isFrozen(objB) // true Object.isFrozen(objC) // true
nullの不思議 let a = undefined a // undefined typeof a
// undefined nullはオブジェクトである(歴史的経緯から) let a = null a // null typeof null // object