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
オブジェクト型(Developer Conference 2018より)
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
4D Japan
January 04, 2019
Technology
200
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
オブジェクト型(Developer Conference 2018より)
4D Japan
January 04, 2019
More Decks by 4D Japan
See All by 4D Japan
4D 21 R2 R3
miyako
0
32
4D 21 LTS
miyako
0
18
4D 21
miyako
0
42
4D 20 R10
miyako
0
44
4D 20 R9
miyako
0
40
4D 20 R7 & R8
miyako
0
85
Unicodeの話 (2007)
miyako
0
47
Unicodeの話 (2008)
miyako
0
54
Google Apps Integration (2012)
miyako
0
57
Other Decks in Technology
See All in Technology
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
180
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
210
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
3
2.4k
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
140
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
250
Webとヘルスデータ
yukukotani
0
190
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
0
160
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
410
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
200
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
200
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
620
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
160
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
580
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Deep Space Network (abreviated)
tonyrice
0
290
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Everyday Curiosity
cassininazir
0
310
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
260
Claude Code のすすめ
schroneko
67
230k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Thoughts on Productivity
jonyablonski
76
5.4k
Transcript
Object is not JSON by Laurent Esnault JSON JSON !?
JSON != is not
/ 好 理由 Inspired 不要 類別 名前 追加
対 制約 •OB Get (object ; propertyName {; type}) •object.propertyName
•object[propertyName] •WP GET ATTRIBUTES
4D Write Pro 4 ⽅法 Four Different ways to Use
Objects with 4D Write Pro! https://blog.4d.com/four-different-ways-to-use-objects-with-4d-write-pro/
C_OBJECT 変数 変数 値 変数 値 値 $myObject $myObject reference
!= is not
参照 $myObject:=$otherObject $myObject:=New object $otherObject:=New object $myObject reference1 $otherObject reference2
$myObject reference2 $otherObject reference2 変数 代⼊ 参照
BLOB TO VARIABLE ($blob ; a.b.c) ->a.b.c 変数 != is
not × ×
OB SET 特殊性 •OB SET ($myObject ; "code" ; 1)
変数 •OB SET (myGetObject() ; "code" ; 1) 値 reference reference OB SET 新規 $myObject.code:=1
Null Undefined Undefined 存4 Undefined Null 存4 値 知 C_OBJECT,
C_COLLECTION C_POINTER Null • : Undefined Null Undefined • If (a.b = Null) Null 状態 値 ,数
未定義 怖 良 理由 Don’t be Afraid of Undefined Values
https://blog.4d.com/object-notation-improvement-after-customer-feedback/
循環
循環 / v16# BLOB v17# BLOB v17#
/ Null Undefined $0.value:=$1.value+$2.value $0->:=$1->+$2->
Non-JSON zn BLOB# Integer# Date# 16R6 String type with time
zone:1 String type without time zone:0 Date type:2 !2018-10-22! "2018-10-22" "2018-10-21T15:00:00.000Z" "2018-10-22T00:00:00.000Z" Stringify:
Non-JSON zn BLOB# Integer# Date# 16R6 Time# v17 Pointer# Stringify:
Image# Stringify: [object Picture] ORDA# Stringify: [object DataStore] [object Entity] [object EntityCollection] Write Pro View Pro# Stringify:
JSON εΩʔϚ JSON Parse JSON Validate DTD XSD SET ARRAY/OB
GET ARRAY
C_COLLECTION OB SET ARRAY/OB GET ARRAY
配列 એݴͱఆٛ ARRAY TEXT($arr;n) C_COLLECTION($col) $col:=New collection λΠϓ ⼀律 混4
ೖ $arr{$i}:="hello" $col[$i]:="hello" αΠζ Size of array($arr) $col.length ఴࣈ 0 ·ͨ 1 ͔ΒSize of array ·Ͱ 0 length-1 C_COLLECTION
Inspired copy concat combine count clear query reduce orderByMethod pop
remove push sum sort unshift some slice reverse shift resize map join min max orderBy lastIndexOf indices indexOf find filter insert findIndex extract every distinct equal fill countValues average
追加# 削除# 並 替 # 計算# ⽐較# 複製 挿⼊# 検索#
取 出 # ⽂字列変換# Inspired extract map some every indices indexOf find filter query join Split string copy concat combine slice distinct equal count sum average min max reduce orderBy orderByMethod sort reverse pop shift remove clear push insert unshift resize fill countValues lastIndexOf findIndex
⼤幅 拡張 管理 https://blog.4d.com/a-wide-range-of-possibilities-to-manage-your-collections/ A Wide Range of Possibilities to
Manage your Collections
For each = For ($i;0;$collection.length-1) MESSAGE($collection[$i]) End for
For each = For each ($element;$collection) MESSAGE($element) End for each
For ($i;0;$collection.length-1) MESSAGE($collection[$i]) End for
For each = = For each ($propertyName;$object) MESSAGE($propertyName) End for
each
For each = = = For each ($entity;$entitySelection) MESSAGE($entity.name) End
for each
For each = = = For each ($element;$collection) While($element#"") MESSAGE($element)
End for each
For each = = = For each ($element;$collection) Until($element="") MESSAGE($element)
End for each